1. Ketma-ketlik if-lar
Ba'zan dasturda qaysidir o'zgaruvchi yoki biror ifodaning qiymatiga qarab turli xil harakatlarni bajarish kerak bo'ladi.
Aytaylik, vazifa quyidagicha:
- Agar harorat
20darajadan yuqori bo'lsa — ko'ylak kiyish - Agar harorat
10darajadan yuqori va20dan kichik yoki teng bo'lsa — sviter kiyish - Agar harorat
0darajadan yuqori va10dan kichik yoki teng bo'lsa — plash kiyish - Agar harorat
0darajadan past bo'lsa — palto kiyish.
Buni kodda qanday ifodalash mumkin:
int temperature = 9;
if (temperature > 20) {
System.out.println("ko'ylak kiyish");
} else { // bu yerda harorat 20 dan kichik yoki teng
if (temperature > 10) {
System.out.println("sviter kiyish");
} else { // bu yerda harorat 10 dan kichik yoki teng
if (temperature > 0) {
System.out.println("plash kiyish");
} else // bu yerda harorat 0 dan past
System.out.println("palto kiyish");
}
}
if-else operatorlarini bir-biriga qo'yish va dasturda murakkab mantiqni amalga oshirish mumkin.
Odatda bunday konstruktsiyani dasturchilar bir oz boshqacha yozadilar:
int temperature = 9;
if (temperature > 20) {
System.out.println("ko'ylak kiyish");
} else if (temperature > 10) { // bu yerda harorat 20 dan kichik yoki teng
System.out.println("sviter kiyish");
} else if (temperature > 0) { // bu yerda harorat 10 dan kichik yoki teng
System.out.println("plash kiyish");
} else { // bu yerda harorat 0 dan past
System.out.println("palto kiyish");
}
Ikki keltirilgan misol tengdir, lekin ikkinchisi qabul qilish nuqtai nazaridan osonroq
2. else ning nozikliklari
Agar if-else konstruktsiyasida burilgan qavslar qo'yilmagan bo'lsa, else avvalgi (unga eng yaqin) if-ga tegishli bo'ladi.
Misol:
| Bizning kodimiz | Qanday ishlaydi |
|---|---|
|
|
Agar chap tarafdagi kodga qarasangiz, ekranda «Ishlamasa ham bo'ladi» degan yozuv ko'rsatiladi deb o'ylashingiz mumkin. Lekin bu shunday emas. Aslida else va «Ishlamasa ham bo'ladi» buyrug'i ikkinchi (unga yaqin) if-ga tegishli.
O'ng tarafdagi kodda qizil bilan bog'langan if va else ko'rsatilgan. Ayniqsa burilgan qavslar harakatlar tartibini aniq ko'rsatmoqda. Ishlamasa ham bo'ladi yozuvi age 60 dan katta bo'lganda hech qachon ekranga chiqmaydi.
3. Operatorning if-else dan foydalanish misoli
Agar biz if-else operatorini yaxshi tushungan bo'lsak, misol keltiramiz:
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in); // Scanner obyektini yaratamiz
int a = console.nextInt(); // klaviaturadan birinchi raqamni o'qish
int b = console.nextInt(); // klaviaturadan ikkinchi raqamni o'qish
if (a < b) // agar a b dan kichik bo'lsa
System.out.println(a); // a ni ekranga chiqarish
else // aks holda
System.out.println(b); // b ni ekranga chiqarish
}
}
GO TO FULL VERSION