harakat A
34}
5 boshqa, agar ( 2-shart bajarilsa) 6 {
harakat B
78}
9 boshqa, agar ( 3-shart bajarilsa) o'n {
o'n to'rt {
15 16
harakat D
1-qator birinchi shartni tekshiradi. Agar bu to'g'ri bo'lsa, jingalak qavslar ichiga olingan barcha buyruqlar (2-4 qatorlar) bajariladi. If buyrug'ining qolgan qismi (5-16 qatorlar) o'tkazib yuboriladi.
Agar birinchi shart bajarilmasa, shartdan keyingi boshqa if bloklari qo'shimcha shartlarni sinab ko'rish uchun ishlatilishi mumkin (5-12-qatorlar). Agar bloklar
yana bir nechta bo'lishi mumkin . Nihoyat, else bloki (string-
86 6 -bob Boshqarish buyruqlari
ki 13–116) kodni bajarish uchun ishlatilishi mumkin
agar avvalgilarining hech biri bo'lmasa
sharoitlar. else if va else bloklari ixtiyoriydir . Agar tekshirmoqchi bo'lgan qo'shimcha shartlar bo'lmasa, ularni kiritish shart emas.
Bu if iborasi qanday ishlashini yaxshiroq tushunish uchun keling , misolni ko'rib chiqaylik. NetBeans-ni ishga tushiring va IfDemo
nomli loyihani yarating . Yaratilgan kodni quyidagi bilan almashtiring:
ifdemo paketi;
import java.util.Scanner;
umumiy sinf IfDemo{
umumiy statik void main(String[] arg)
{
Skaner kiritish = yangi Skaner(System.in); System.out.print("\nYoshingizni kiriting: "); int userAge = input.nextInt();
agar (userAge < 0 || userAge > 100)
{
System.out.println("Yaroqsiz yosh"); System.out.println("Yosh 0 dan 100 gacha bo'lishi kerak");
}
Aks holda (foydalanuvchi yoshi < 18)
System.out.println("Kechirasiz, siz voyaga etmagansiz"); Aks holda (userAge < 21)
System.out.println("Sizga ota-ona roziligi kerak");
boshqa
{
System.out.println("Tabriklaymiz!"); System.out.println("Siz tadbirga yozilishingiz mumkin!");
6.2. Qaror guruhlari 87
Dastur foydalanuvchidan yoshini so'raydi va natijani userAge o'zgaruvchisida saqlaydi. Jamoa
agar (userAge < 0 || userAge > 100)
userAge qiymati noldan kichik yoki 100 dan katta ekanligini tekshiradi . Agar ushbu shartlardan biri to'g'ri bo'lsa , dastur keyingi jingalak qavsdagi barcha buyruqlarni bajaradi . Ushbu misol "Yoshi noto'g'ri" qatorini va undan keyin "Yosh 0 dan 100 gacha bo'lishi kerak" xabarini chop etadi.
Boshqa tomondan, agar ikkala shart ham noto'g'ri bo'lsa, dastur keyingi shartni tekshiradi - else if (userAge < 18). Agar userAge 18 dan kichik bo'lsa (lekin birinchi shart bajarilmagani uchun 0 dan katta yoki teng ), dastur "Kechirasiz, siz voyaga etmagansiz" xabarini ko'rsatadi.
Siz buyruqni ko'rgan bo'lishingiz mumkin:
System.out.println("Kechirasiz, siz voyaga etmagansiz");
jingalak qavslar ichiga kiritilmagan. Gap shundaki, agar faqat bitta buyruq bajarilayotgan bo'lsa, jingalak qavslar kerak emas .
Agar foydalanuvchi 18 dan kichik qiymatni kiritmagan bo'lsa, lekin kiritilgan qiymat 18 dan katta yoki unga teng, lekin 21 dan kichik bo'lsa , keyingi boshqa if buyrug'i
bajariladi. Bunday holda, "Sizga ota-ona roziligi kerak" xabari ko'rsatiladi.
Nihoyat, agar kiritilgan qiymat 21 dan katta yoki teng bo'lsa, lekin 100 dan kichik yoki teng bo'lsa, dastur else blokidagi kodni bajaradi. Bunday holda, "Tabriklaymiz" qatori , keyin esa "Siz tadbirga yozilishingiz mumkin!" xabari ko'rsatiladi .
88 6 -bob Boshqarish buyruqlari
Dasturni besh marta ishga tushiring va har bir ishga mos ravishda -1, 8, 20, 23 va 121 ni kiriting. Siz quyidagi natijaga erishasiz:
Iltimos, yoshingizni kiriting: -1 Yaroqsiz yosh
Yoshi 0 dan 100 gacha bo'lishi kerak
Iltimos, yoshingizni kiriting: 8
Kechirasiz, siz voyaga etmagansiz
Iltimos, yoshingizni kiriting: 20 Sizga ota-ona roziligi kerak
Iltimos, yoshingizni kiriting: 23 Tabriklaymiz!
Siz tadbirga yozilishingiz mumkin!
Iltimos, yoshingizni kiriting: 121 Yaroqsiz yosh
Yoshi 0 dan 100 gacha bo'lishi kerak
UCCHALIK OPERATOR
Uchlik operator (?) if buyrug‘ining soddalashtirilgan ko‘rinishi bo‘lib, u shart natijasiga qarab o‘zgaruvchiga qiymat berish uchun juda qulaydir . Sintaksis quyidagicha ko'rinadi:
Do'stlaringiz bilan baham: |