9. Methodlar¶
Dastur kattalashgani sari kodimiz ham ko‘payadi.
Agar hamma kodni main() ichiga yozaversak, dastur tushunish qiyin bo‘lib qoladi.
Shuning uchun kodni kichik qismlarga ajratamiz.
Java'da bunday qismlar method deyiladi.
Method nima?¶
Method — ma'lum bir ishni bajaradigan kodlar to‘plami.
Masalan, ekranga salom chiqaradigan method:
static void salomBer() {
System.out.println("Salom!");
}
Bu method chaqirilganda:
Salom!
chiqaradi.
Methodni chaqirish¶
Methodni yaratishning o‘zi yetarli emas.
Uni ishlatish uchun chaqirish kerak.
public class Main {
static void salomBer() {
System.out.println("Salom!");
}
public static void main(String[] args) {
salomBer();
}
}
Natija:
Salom!
Bu yerda:
salomBer();
methodni chaqiryapti.
Method nima uchun kerak?¶
Methodlar kodni tartibli qilishga yordam beradi.
Masalan, bizda:
salomBer()
xayrlash()
hisobla()
kabi methodlar bo‘lishi mumkin.
Har bir method o‘z ishini bajaradi.
Method yaratish¶
Oddiy method:
static void salomBer() {
System.out.println("Salom!");
}
Bu yerda:
static → methodni object yaratmasdan ishlatamiz
void → method qiymat qaytarmaydi
salomBer → method nomi
Hozircha static haqida chuqur o‘ylash shart emas.
Keyinroq class va objectlarni o‘rganganimizda staticni batafsil ko‘ramiz.
Method nomi¶
Methodga tushunarli nom berish kerak.
Masalan:
salomBer()
hisobla()
ismniChiqar()
sonniTekshir()
Yomon nom:
abc()
Yaxshi nom:
yoshniTekshir()
Method nomi uning nima qilishini ko‘rsatib turgani yaxshi.
Parametrlar¶
Methodga ma'lumot berish mumkin.
Masalan:
static void salomBer(String ism) {
System.out.println("Salom, " + ism);
}
Endi methodni:
salomBer("Ali");
deb chaqiramiz.
Natija:
Salom, Ali
Bu yerda ism — parametr.
Bir nechta parametr¶
Method bir nechta parametr qabul qilishi mumkin.
Masalan:
static void tanishtir(String ism, int yosh) {
System.out.println("Ism: " + ism);
System.out.println("Yosh: " + yosh);
}
Chaqarish:
tanishtir("Ali", 18);
Natija:
Ism: Ali
Yosh: 18
return¶
Method natija qaytarishi ham mumkin.
Masalan, ikki sonni qo‘shadigan method:
static int qosh(int a, int b) {
return a + b;
}
Keyin:
int natija = qosh(10, 20);
System.out.println(natija);
Natija:
30
Bu yerda method 30 qiymatini qaytardi.
void va return¶
Agar method hech narsa qaytarmasa:
static void salom() {
System.out.println("Salom!");
}
Agar qiymat qaytarsa:
static int qosh(int a, int b) {
return a + b;
}
Bu yerda int method qaytaradigan qiymat turini bildiradi.
return bilan String¶
Method String ham qaytarishi mumkin.
static String ismniOl() {
return "Ali";
}
Keyin:
String ism = ismniOl();
System.out.println(ism);
Natija:
Ali
return bilan double¶
static double hisobla() {
return 10.5 + 5.5;
}
Keyin:
double natija = hisobla();
System.out.println(natija);
Natija:
16.0
Method ichida if¶
Method ichida shartlardan foydalanish mumkin.
Masalan:
static void yoshniTekshir(int yosh) {
if (yosh >= 18) {
System.out.println("Kirish mumkin.");
} else {
System.out.println("Kirish mumkin emas.");
}
}
Keyin:
yoshniTekshir(20);
Natija:
Kirish mumkin.
Method ichida loop¶
Method ichida loop ham ishlatish mumkin.
static void sonlarniChiqar() {
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
}
Keyin:
sonlarniChiqar();
Natija:
1
2
3
4
5
Bir method boshqa methodni chaqirishi¶
Methodlar bir-birini chaqirishi mumkin.
static void salom() {
System.out.println("Salom!");
}
static void boshlash() {
salom();
System.out.println("Dastur boshlandi.");
}
main() ichida:
boshlash();
Natija:
Salom!
Dastur boshlandi.
Method orqali hisoblash¶
Keling, ikkita sonni ko‘paytiradigan method yozamiz.
static int kopaytir(int a, int b) {
return a * b;
}
Keyin:
int natija = kopaytir(5, 4);
System.out.println(natija);
Natija:
20
Methodga array berish¶
Arrayni ham methodga berish mumkin.
static void sonlarniChiqar(int[] sonlar) {
for (int son : sonlar) {
System.out.println(son);
}
}
Keyin:
int[] sonlar = {10, 20, 30};
sonlarniChiqar(sonlar);
Natija:
10
20
30
Methodning umumiy ko‘rinishi¶
Oddiy method:
static void methodNomi() {
// kod
}
Parametrli method:
static void methodNomi(int son) {
// kod
}
Qiymat qaytaradigan method:
static int methodNomi(int son) {
return son;
}
Hozircha shu uchta ko‘rinishni yaxshi tushunish kifoya.
To‘liq misol¶
Keling, ikkita son bilan ishlaydigan dastur yozamiz.
public class Main {
static int qosh(int a, int b) {
return a + b;
}
static int ayir(int a, int b) {
return a - b;
}
public static void main(String[] args) {
int natija1 = qosh(10, 5);
int natija2 = ayir(10, 5);
System.out.println(natija1);
System.out.println(natija2);
}
}
Natija:
15
5
Bu yerda ikkita alohida method o‘z ishini bajaryapti.
Methodlarning foydasi¶
Methodlardan foydalanishning asosiy foydasi — kodni tartibli qilish.
Masalan, bir xil kodni bir necha marta yozish o‘rniga method yaratamiz.
Yomon usul:
System.out.println("Salom, Ali!");
System.out.println("Salom, Vali!");
System.out.println("Salom, Hasan!");
Method bilan:
salomBer("Ali");
salomBer("Vali");
salomBer("Hasan");
Bu usul kodni qisqaroq va tushunarli qiladi.
Amaliy mashqlar¶
1-mashq¶
salomBer() nomli method yarating.
U:
Salom, Java!
matnini chiqarsin.
2-mashq¶
Ism qabul qiladigan method yarating.
Masalan:
salomBer("Ali");
Natija:
Salom, Ali!
3-mashq¶
Ikki sonni qo‘shadigan method yarating.
Masalan:
qosh(10, 20);
Natija:
30
4-mashq¶
Ikki sonning kattasini qaytaradigan method yarating.
5-mashq¶
Berilgan son juft yoki toq ekanligini tekshiradigan method yarating.
6-mashq¶
Array qabul qilib, uning barcha elementlarini chiqaradigan method yarating.
Muhim narsalarni eslab qoling¶
Method — ma'lum bir ishni bajaradigan kodlar to‘plami.
Methodni ishlatish uchun uni chaqiramiz:
salomBer();
Method parametr qabul qilishi mumkin:
salomBer("Ali");
Method qiymat qaytarishi mumkin:
return a + b;
void method qiymat qaytarmaydi.
Methodlar katta dasturlarni kichik va tushunarli qismlarga ajratishga yordam beradi.
Keyingi bobda Java'ning eng muhim mavzularidan biri — Class va Object bilan tanishamiz.