holat ? true qiymati : noto'g'ri qiymati;
Masalan, buyruq
3>2? 10:5;
10 qiymatini qaytaradi, chunki 3 2 dan katta (ya'ni, 3 > 2 sharti to'g'ri bo'lsa). Keyinchalik bu qiymat o'zgaruvchiga tayinlanishi mumkin .
6.2. Qaror guruhlari 89
Agar siz buyruqni bajarsangiz
int myNum = 3>2? 10:5;
myNum 10 ga o'rnatiladi.
JAMOANI ALMASH
Switch buyrug'i if buyrug'iga o'xshaydi , faqat u qiymatlar diapazonlari bilan ishlamaydi. Switch buyrug'i har bir holat bitta qiymatga asoslanishini talab qiladi .
Dastur tanlash uchun ishlatiladigan o'zgaruvchining qiymatiga qarab bir nechta kod bloklaridan birini bajaradi .
Switch buyrug'i quyidagi sintaksisga ega:
o'zgartirish (tanlash uchun o'zgaruvchi)
{
birinchi holat
harakat A;
sindirish;
ikkinchi holat
B harakat ;
sindirish;
standart:
harakat C;
sindirish;
}
Switch buyrug'idagi holatlar soni cheklanmagan. Standart blok ixtiyoriydir; holatlarning hech biri mos kelmasa , bajariladi . Tanlash uchun bayt, short, char yoki int tipidagi o'zgaruvchilardan foydalanish mumkin. Java 7 dan boshlab, tanlash uchun String o'zgaruvchisidan ham foydalanish mumkin.
90 6 -bob Boshqarish buyruqlari
Agar ba'zi holatlar mos kelsa, u holda barcha buyruqlar keyingi qatordan boshlab, break buyrug'igacha bajariladi. Tanaffus buyrug'i dasturga switch operatoridan chiqishni va qolgan qismini bajarishni davom ettirishni aytadi
dasturning qismlari.
Switch buyrug'idan foydalanish misolini ko'rib chiqamiz . Ushbu misolni sinab ko'rish uchun NetBeans-ni ishga tushiring va SwitchDemo nomli yangi loyiha yarating.
Yaratilgan kodni quyidagi bilan almashtiring . Ushbu misol tanlash uchun String o'zgaruvchisidan foydalanadi .
1 ta paketni almashtirish demosi; 2 import java.util.Scanner;
3
4 umumiy sinf SwitchDemo{ 5
6
7
sakkiz
9
o'n
o'n bir
12
13
o'n to'rt
o'n besh
16
17
o'n sakkiz
19
yigirma
21
22
23
24
umumiy statik void main(String[] args) {
Skaner kiritish = yangi Skaner(System.in);
System.out.print("Bahongizni kiriting: "); userGrade string =
input.nextLine().toUpperCase();
switch (userGrade)
{
"A+" holati:
"A" holati:
System.out.println("Farqlanish"); sindirish;
"B" holati:
System.out.println("B darajasi"); sindirish;
"C" holati:
System.out.println("C darajasi"); sindirish;
Qaror guruhlari 91
25
|
|
|
standart:
|
26
|
|
|
System.out.println("Muvaffaqiyatsiz");
|
27
|
|
|
sindirish;
|
28
|
|
}
|
|
29
|
}
|
|
|
o'ttiz}
|
|
|
|
Dastur birinchi navbatda foydalanuvchidan 10-qatordagi qiymatni soÿraydi. 11-satrda u kiritilgan maÿlumotlarni oÿqiydi va natijani quyidagi buyruq bilan userGrade da saqlaydi:
userGrade string = input.nextLine().toUpperCase();
Ba'zi o'quvchilar uchun bu buyruq g'ayrioddiy tuyulishi mumkin . Bu erda biz bitta buyruqda ikkita usulni chaqiramiz:
input.nextLine()
Birinchi qo'ng'iroq foydalanuvchi tomonidan kiritilgan ma'lumotlarni o'qiydi. Usul satrni qaytaradi. Olingan satr toUpperCase() usulini chaqirish uchun ishlatiladi. Ushbu buyruq bitta buyruqda ikkita usulni qanday chaqirishni ko'rsatadi. Usullar chapdan o'ngga chaqiriladi. Avval nextLine() usuli , keyin toUpperCase() usuli chaqiruvi bajariladi.
UserGrade dasturiga tayinlashdan oldin foydalanuvchi kiritgan maÿlumotlar katta harfga aylantirilishi kerak , chunki Java tili katta harflarga sezgir. Dastur foydalanuvchi "A" yoki "a" belgisini kiritganidan qat'i nazar, bitta xabarni ko'rsatishi kerak. Bu erda kichik harf bilan kiritilgan har qanday qiymat tayinlashdan oldin katta harfga aylantiriladi .
foydalanuvchi darajasi.
92 6 -bob Boshqarish buyruqlari
Kiritilgan qiymatni olgandan so'ng, o'tish buyrug'i chiqish xabarini aniqlash uchun ishlatiladi.
Agar foydalanuvchi "A+" (15-qator) ni kiritgan bo'lsa, u holda dastur tanaffus ko'rsatmasi bajarilgunga qadar keyingi ko'rsatma bilan davom etadi . Bu 16 dan 18 gacha bo'lgan qatorlar bajarilishini anglatadi. Va bu "Ajratish" xabari ko'rsatiladi degan ma'noni anglatadi.
Agar "A" qiymati kiritilsa (16-satr), dastur 17 va 18- qatorlarni bajaradi. Bu holda "Ajratish" xabari ham ko'rsatiladi.
Agar kiritilgan qiymat "A+" yoki "A" bo'lmasa, dastur keyingi holatni tekshiradi. Sinovlar tegishli holat topilmaguncha yuqoridan pastga qarab davom etadi . Agar holatlarning hech biri mos kelmasa, standart blok qayta ishlanadi .
Yuqoridagi kodni bajarish orqali siz belgilangan kirish uchun quyidagi natijani olasiz:
Bahoingizni kiriting: A+ Farqlanish
Bahoingizni kiriting: A Farqlanish
Bahoingizni kiriting: B B darajasi
Bahoingizni kiriting: C C darajasi
Bahoingizni kiriting: D
muvaffaqiyatsiz
Bahoingizni kiriting: Salom
muvaffaqiyatsiz
Tsikllar 93
SIKILLAR
Keling, Java siklik buyruqlariga o'tamiz. Java-da eng ko'p ishlatiladigan sikllarning to'rt turi mavjud : for buyrug'i, kengaytirilgan for buyrug'i, while buyrug'i va do-while buyrug'i.
BUYRUQ UCHUN
For buyrug'i ko'rsatilgan shart amalda bo'lsa , kod blokini qayta-qayta bajaradi .
for buyrug'ining sintaksisi :
uchun (asl qiymat; shart; qiymat o'zgarishi)
{
// Ba'zi harakatlar
}
For buyrug'i qanday ishlashini tushunish uchun quyidagi misolni ko'rib chiqing :
1 uchun (int i = 0; i < 5; i++) 2 {
3
to'rtta}
System.out.println(i);
1-jamoa eng katta qiziqish uyg'otadi:
uchun (int i = 0; i < 5; i++)
U belgi bilan ajratilgan uch qismdan iborat ;
(nuqta vergul).
Birinchi qism i o'zgaruvchisini e'lon qiladi va ishga tushiradi
nol bilan int turi . O'zgaruvchi tsikl hisoblagichi bo'lib xizmat qiladi.
Ikkinchi qism i ning 5 dan kichik ekanligini tekshiradi. Agar shunday bo'lsa, jingalak qavslardagi buyruqlar bajariladi. dan-
94 6 -bob Boshqarish buyruqlari
Ushbu misolda jingalak qavslar talab qilinmaydi, chunki
faqat bitta buyruq bajariladi.
System.out.println(i) buyrug'i bajarilgandan so'ng , dastur 1
- satrning oxirgi segmentiga qaytadi. i++ ifodasi i qiymatini 1 ga oshiradi. Shunday qilib, i qiymatni 0 dan 1 ga o'zgartiradi.
O'sishdan keyin dastur i ning yangi qiymati hali ham 5 dan kichik ekanligini tekshiradi. Tekshirish ijobiy bo'lsa, System.out.println(i)
yana bajariladi.
Loop hisoblagichini tekshirish va oshirish jarayoni i < 5 sharti endi qondirilmaguncha takrorlanadi . Bu vaqtda dastur for buyrug'idan chiqadi.
va sikldan keyingi buyruqlarni bajarishda davom etadi.
Ushbu parchaning natijasi quyidagicha ko'rinadi:
0
bitta
2
3
to'rtta
Chiqish 4 da to'xtaydi, chunki i 5 bo'lganda, System.out.println(i) buyrug'i bajarilmaydi, chunki 5 kamida 5.
For buyrug'i odatda massiv elementlarini takrorlash uchun ishlatiladi. Misol uchun, agar massiv mavjud bo'lsa
int[] myNumbers = {10, 20, 30, 40, 50};
For buyrug'i va massivning uzunlik maydoni quyida ko'rsatilgandek elementlarni takrorlash uchun ishlatilishi mumkin:
6.3. Tsikllar 95
uchun (int i = 0; i < myNumbers.length; i++)
{
System.out.println(mening raqamlarim[i]);
}
myNumbers.length qiymati 5 bo'lgani uchun kod i = 0 dan i = 4 gacha ishlaydi . Uni ishga tushirganingizda quyidagi natijani olasiz:
o'n
yigirma
o'ttiz
40
ellik
BUYRUQ UCHUN UZAYTILGAN
Massivlar va to'plamlar bilan ishlashda for buyrug'iga
qo'shimcha ravishda kengaytirilgan for tsiklidan ham foydalanish mumkin.
(to'plamlar 9-bobda muhokama qilinadi). Kengaytirilgan for tsikli
massivdan hech qanday o'zgarishsiz ma'lumot olish uchun juda qulay .
Loop sintaksisi uchun kengaytirilgan :
for (o'zgaruvchi deklaratsiyasi : massiv nomi)
{
}
Aytaylik, bizda massiv bor
int[] myNumbers = {10, 20, 30, 40, 50};
Massiv elementlarini ko'rsatish uchun siz foydalanishingiz mumkin
quyidagi kod bilan:
uchun (int element: myNumbers) System.out.println(element);
96 6 -bob Boshqarish buyruqlari
Yuqoridagi kod int tipidagi o'zgaruvchan elementni e'lon qiladi, u iteratsiya uchun ishlatiladi. Har safar sikl bajarilganda, myNumbers massivning keyingi elementi element o'zgaruvchisiga tayinlanadi . Masalan, sikl
birinchi marta bajarilganda, elementga 10 butun soni beriladi. Bu holda chiziq
System.out.println(element);
chiqishlar 10.
Loopning ikkinchi iteratsiyasida elementga 20 butun soni beriladi.
System.out.println(element);
chiqish 20.
Tsikl oxirigacha davom etadi
massivning barcha elementlari.
BUYRUQ BO'LGANDA
Keling, while looplariga o'tamiz. while buyrug'i shart buzilmaguncha sikl tarkibidagi operatorlarni qayta- qayta bajaradi.
while tsiklining tuzilishi :
while (shart to'g'ri)
{
Do'stlaringiz bilan baham: |