Java Shart operatorlari. if, if-else

Dasturlashda, eng ko’p ishlatiladigan holatlardan biri shartli operatorlar hisoblanadi, ya’ni biror o’zgaruvchi yoki o’zgarmas yoki obyektning qiymatlariga qarab dastur qay yo’sinda davom etishi hal qilinadi. Bunday holatlarda if else kalit so’zlari yordam beradi.

if ifodalari

if kalit so’zi berilgan shart bajarilgandagina ishlashi kerak bo’lgan kod qismini yozishda qo’llaniladi. Sintaksisi:

if (shartliIfoda) {
  // agar shart qanoatlantirilsa, ishlaydigan kod bloki
}

Quyidagi misolda 20 sonini 18 sonidan katta bo’lishini tekshiramiz:

if (20 > 18) {
  System.out.println("20 soni 18 sonidan katta");
}

else ifodalari

else kalit so’zi agar if blokidagi shart bajarilmasa, ishlashi kerak bo’lgan kod qismini yozish uchun ishlatiladi:

if (shartliIfoda) {
  // agar shart qanoatlantirilsa, ishlaydigan kod bloki
} else {
  // agar shart qanoatlantirilmasa, ishlaydigan kod bloki
}

Quyidagi misolda, agar havo harorati 20C dan yuqori bo’lsa, “Havo iliq!”, aks holda “Havo salqin!” degan xabar chop etamiz:

int havo = 18;
if (havo > 20) {
  System.out.println("Havo iliq!");
} else {
  System.out.println("Havo salqin!");
}

Yuqoridagi misolda “Havo salqin” xabari chop etiladi.

else if ifodalar

else if kalit so’zi agar birinchi if ifoda sharti qanoatlanmasa, yana boshqa shart tekshirish uchun ishlatiladi. Sintaksisi quyidagicha:

if (shartliIfoda1) {
  // agar shartliIfoda1 qanoatlantirilsa, ishlaydigan kod bloki
} else if (shartliIfoda2) {
  // agar shartliIfoda1 qanoatlantirilmasa va shartliIfoda2 qanoatlantirilsa, ishlaydigan kod bloki
} else {
  // agar shartliIfoda1 va shartliIfoda2 qanoatlantirilmasa, ishlaydigan kod bloki
}

Keling, quyidagicha kod yozamiz: soat nomli o’zgaruvchiga qiymat beramiz va uni tekshiramiz. Agar soat 10 dan kichik bo’lsa, “Xayrli tong!”, agar soat 18 dan kichik bo’lsa “Xayrli kun!”, aks holda “Xayrli kech!” degan xabarni chop qilamiz.

int soat = 14;
if (soat < 10) {
  System.out.println("Xayrli tong!");
} else if (soat < 18) {
  System.out.println("Xayrli kun!"); // chop etiladi
} else {
  System.out.println("Xayrli kech!");
}

Quyidagi kodga e’tibor bering:

boolean uzbekdevsSaytiFoydalimi = true;

if ( uzbekdevsSaytiFoydalimi) {
    System.out.println("uzbekdevs sayti foydali.");
} else {
    System.out.println("uzbekdevs sayti foydali emas.");
}

Yuqoridagi misolda boolean tipidagi uzbekdevsSaytiFoydalimi o’zgaruvchiga true qiymatini berdik va shartli ifodada uni true qiymatga tekshirdik.

Ternari operatori

Ternari operatori bu if-else ifodalarning qisqacha ko’rinishi hisoblanadi. Sintaksisiga e’tibor bering.

ozgaruvchi = (shartliIfoda) ? rostbolgandagikodbloki :  yolgonbolgandagikodbliki;

Yuqorigi misollardan birini ternary operatori yordamida yozib ko’ramiz:

int havo = 18;
String natija = (havo > 20) ? "Havo iliq!" : "Havo salqin!";
System.out.println(natija);

Ternari operatorini bir nechta shartli ifodalar bilan yozsa ham bo’ladi. Yuqoridagi soatga doir misolni ternary operatori yordamida quyidagicha yozamiz:

int soat = 14;
String natija = (soat < 10) ? “Xayrli tong!” : (soat < 18) ? “Xayrli kun!” : “Xayrli kech!”;
System.out.println(natija);