1.3. JAVA DASTURLASH TILIDA BOSHQARISH OPERATORLARI
Chop etish operatori.
Java tilida ma’lumotlarni chop qilish uchun System.out.println(“”); operatoridan foydalaniladi. uning o‘rniga sout so‘zini yozib Tab klavishini bosing. Natijada, sout o‘rnida System.out.println(“”); hosil bo‘ladi.
Formatter orqali ma’lumotlarni chop etishda Java utiliti chaqirilgan
bo‘lishi kerak. Yuqoridagi misolning programmasi quyidagicha bo‘lishi
mumkin:
package format_pech;
import java.util.*;
public class Main {
public static void main(String[] args) {
Formatter ff=new Formatter();
ff.format("Formatlash %s juda oson: %d %f","Java yordamida",10,98.6);
System.out.println(ff);
} }
Ma’lumotlarni kiritish operatori.
Formatter klassiga qo‘shimcha klasslardan biri Scanner klassidir. Bu klass
ma’lumotlar qaysi formatda bo‘lsa , shu formatda o‘qish ( xotiraga kiritish)
imkonini beradi. Ma’lumotlar oqimi (ketma- ketligi) faylda ham bo‘lishi mumkin.
Xuddi shuningdek, ma’lumotlarni klaviatura orqali (konsol) ham o‘qish imkoni
mavjud. Ma’lumotlarni Scanner orqali o‘qish uchun Scanner ni hosil qilish
kerak. Masalan, quyidagi Scanner
Scanner ss=new Scanner(System.in);
Klaviaturadan Scanner
yordamida butun sonlarni, o‘nli kasr ko‘rinishidagi sonlarni ( haqiqiy sonlar),
matnlarni kiritish va bu qiymatlarni mos turdagi o‘zgaruvchilarga taqdim etish
uchun quyidagi metodlar qo‘llanadi.
nextInt()- int turidagi butun sonlarni o‘qish uchun;
nextShort()- short turidagi butun sonlarni o‘qish uchun;
nextLong()- long turidagi butun sonlarni o‘qish uchun;
nextByte()- byte turidagi butun sonlarni o‘qish uchun;
nextFloat()- float turidagi haqiqiy sonlarni o‘qish uchun;
nextDouble()- double turidagi haqiqiy sonlarni o‘qish uchun;
next()- ixtiyoriy turni matn sifatida o‘qish uchun.
Tanlash operatorlari.
Java dasturlash tilida ikkita tanlash operatori bo’lib ular quyidagilar:
1. if operatori
2.switch operatori
Masalani qo’yilishiga qarab ularning birini ishlatish mumkin.
If tanlash operatori
If operatori kodlashni ikkita yo’ldan biriga burib yuboradi. If operatori shart tekshiradi agar shart true(rost) bo’lsa amal bajariladi aks holda shart bajarilmaydi. If operatori, butun kod ishlashini ikkita yo‘ldan biriga yo‘naltirib yuboradi, ya’ni qo‘yilgan shart asosida kompilyator biror yo‘lni tanlab, o‘z ishini davom ettiradi.
If tanlash operatori turlari
if ifodasi
if-else ifodasi
nested if ifodasi
if-else-if ladder (narvon)
if opertori
if ifodasinning sintaksisi quyidagicha:
if(shart)
{
//operator1
}
Bunda if operatorining ishlash jarayonini tahlil qiladigan bo’lsak ,shart tekshiriladi agarda shart bajarilsa operator1 bajariladi.Aks holda shart yolg’on bo’lsa if operatoridan keyingi operatorlar bajariladi.Quyidagi misolda voyaga yetgan yetmaganlikni tekshirish misolini ko’rib chiqamiz.
public class If_misol{
public static void main(String[] args) {
int yoshi=17;
if(age < 18){
Sytem.out.print("Voyaga yetmagan");
}
}
}
Bu dastur kodining ishlash prinspini ko’radigan bo’lsak ,o’smir yoshi e’lon qilinadi.Keyin if operatori yordamida unga shart tekshiriladi qo’yiladi.Agar o’smir yoshi 18 dan kichik bo’lsa “Voyaga yetmagan” degan xabar chiqadi.
if-else ifodasi
if-else operatorining sintaksisi quyidagicha:
if(shart){
//operator1
}
else
{
//operator2
}
Shart tekshirish jarayonida shart true bo’lsa, if blokdagi amal bajariladi, aks holda else block dagi amal bajariladi
Masalan,X nomalum int tipidagi son kiritaylik agrada x musbat son bo’lsa “1” chiqsin aks holda ekranga “2” chiqsin.
public class If_else_misol{
public static void main(String[] args) {
int x=5;
if (x<0) a=1;
else a=2;
System.out.println(a);
}
}
Netsed if operatori.
Netsed if operatorining sintaksisi quyidagicha:
if(){
//;
If(shart){
//;
}
}
Ichma-ich joylashgan if operatordagi qiymatlar ketma-ket solishtiriladi. Agar qiymat biror variant bilan mos tushsa, shu variantga tegishli blok ichidagi operator yoki operatorlar bloki ishlaydi bu tanlov yakuniga yetadi.
if-else-if (ladder-narvon)operatori.
if-else-if operatorining sintaksisi quyidagicha:
if(shart1){
//operator_1
}else if(shart2){
//operator_2
}else if(shart3){
//operator_3
}
…
else{
//operator_n
}
if-else-if operatorida shart tekshiriladi.Shart1 tekshiriladi,agarda shart2 bajarilmasa keying shart3ga o’tadi va shu tariqa davom etadi.
? amali.
Java da shartli operatorning xususiy holi sifatida ? amali kiritilgan.
Uning ko‘rinishi quyidagicha:
Mantiqiy ifoda ? ifoda1 : ifoda2;
Bu amal quyidagicha ishlaydi: Mantiqiy ifoda ning qiymati tekshiriladi.
Agar u rost bo‘lsa, bu amalning natijasi ifoda1 ning qiymatiga teng bo‘ladi,
aks holda ifoda2 ning. Masalan,
s= x<0 ? a+1 : a-1;
Agar x<0 bo‘lsa, s ning qiymati a+1 ifodaning qiymatiga, aks holda
a-1 ifodaning qiymatiga teng bo‘ladi . Ikki sonning maksimumini topishni bu
amal yordamida quyidagicha yozish mumkin:
s= a
Bu amaldan foydalanish juda ko‘p qulayliklar tug‘diradi.
Switch tanlash operatori.
Java da maxsus tanlash (switch) operatori kiritilgan. Bu operatorning ko‘rinishi va ishlashi quyidagicha:
switch (ifoda) {
case 1-qiymat:
operatorlar ketma-ketligi;
break;
case 2-qiymat:
operatorlar ketma-ketligi;
break;
…
…
…
case N-qiymat:
operatorlar ketma-ketligi;
break;
default:
operatorlar ketma-ketligi;
}
Bu yerda ifodaning qiymati byte, short, int, char turlaridan biri bo‘lishi
mumkin. Xuddi shuningdek, case dan keyin keladigan qiymatlar ham
ifodaning turi bilan bir xil bo‘lishi shart. Bu operator:
1. Qavslar ichida turgan ifodani hisoblaydi;
2. Ifodaning qiymati case dan keyin keladigan qiymatlar bilan ketma-ket
solishtiriladi;
3. Ifodaning qiymati qaysi bir case dan keyin keladigan qiymatga teng
bo‘lsa,, unga mos operatorlar ketma-ketligi bajariladi;
4. break operatori switch blokidan chiqishni ta’minlaydi, ya’ni
programmaning bajarilishi } qavsdan keyingi operatorga uzatiladi.
5. Agar ifodaning qiymati case dan keyin keladigan qiymatlarning hyech
qaysisiga teng bo‘lmasa, default dan keyin keladigan operatorlar ketmaketligi bajariladi.
Misol. Quyidagi programma K o‘zgaruvchining qiymatlariga qarab,
haftaning kunlarini aniqlaydi.
package hafta_runlaru;
public class Hafta_kunlari {
public static void main(String[] args) {
int k; k=5;
switch (k){
case 1:System.out.println("Bugun dushanba ");
break;
case 2:System.out.println("Bugun seshanba ");
break;
case 3:System.out.println(" Bugun chorshanba ");
break;
case 4:System.out.println("Bugun payshanba ");
break;
case 5:System.out.println("Bugun juma ");
break;
case 6:System.out.println("Bugun shanba ");
break;
case 7:System.out.println("Bugun yakshanba ");
break;
default:
System.out.println("Bunaqa kun yo‘q ");
}
}
}
Sikl operatorlari.
Bu operatorning ko‘rinishi quyidagicha:
for (sikl parametrini aniqlash; shart; o‘zgarish qoidasi){
// takrorlanuvchi operatorlar
}
Masalan,
int i;//1-misol
for (i=1;i<10,i=i+1){…}
Bu ikki satrni quyidagicha ham yozish mumkin:
for (int i=1;i<10,i=i+1){…}//2-misol
yoki
for (int i=1;i<10,i+=1){…}
yoki
for (int i=1;i<10,i++){…}
Bu turdagi sikl operatori quyidagi qonuniyat bo‘yicha ishlaydi:
1. Sikl boshida bir marta sikl parametri aniqlanadi. Sikl parametrini
aniqlash deganda, parametrga boshlang‘ich qiymat (agar parametr siklgacha
ta’riflangan bo‘lsa,, 1-misol) berish yoki sikl parametrini ta’riflash va unga
boshlang‘ich qiymat berish (2-misol) tushuniladi.
2. Shart tekshiriladi. Agar shart rost bo‘lsa, takrorlanuvchi operator
bajariladi, aks holda sikl yakunlanadi.
56
3. O‘zgarish qoidasi bo‘yicha parametrning navbatdagi qiymati hosil
qilinadi va 2-holatdan boshlab yana takrorlanadi.
Bu turdagi sikl operatorida takrorlanuvchi operatorlar bir marta ham
bajarilmasligi mumkin. Siklda takrorlanuvchi operatorlar bitta bo‘lsa, {}
qavslarni qo‘ymasa xam bo‘ladi. Agar sikl parametri faqat siklning ichidagina
ishlatilsa, uni sikl ichida ta’riflash maqsadga muvofiq, chunki sikldan chiqish
bilan bu parametr yo‘qoladi. O‘zgaruvchilarning ta’sir doirasi mavzusida bu
haqda batafsil to‘xtalamiz.
Quyida 7.1-rasmdagi algoritmning f(i)=i uchun programmasini
keltirilgan:
public class Summa {
public static void main(String[] args) {
int s=0, n=20;
for (int i=1; i<=n; i++)
s+=i;
System.out.println("summa= " +s);
} }
Massiv elementlarining yig‘indisini topish programmasini for operator
yordamida quyidagicha yozish mumkin:
public class Main {
public static void main(String[] args) {
int i;
double s=0;
double A[]={2,5,6,-7,10,9,12,4,25,1};
for (i=0;i
s+=A[i];
System.out.println("s="+s);
} }
Bu programmada A.length massiv elementlarining sonini aniqlovchi
metoddir. Quyida berilgan sonning tub yoki tub emasligini tekshiruvchi
programma keltirilgan [1]:
package tub_son;
public class Tub_son {
public static void main(String[] args) {
int n;
boolean b=true;
n=13;
for(int i=2; i<=n/i; i++){
if ((n%i)==0){
b=false;
break;
57
} }
if (b) System.out.println("Tub");
else System.out.println("Tub emas");
}}
For-each operatori
Java tilada for sikl operatorining for-each versiyasi mavjud bo‘lib, bu
operator massivlar bilan ishlash jarayonida ma’lum qulayliklar yaratadi. Buni
massiv elementlarining yig‘indisini hisoblash programmasi misolida
ko‘ramiz.
double s=0;
double A[]={2,5,6,-7,10,9,12,4,25,1};
for (double x:A) s+=x;
Bu yerda x o‘zgaruvchiga iteratsion o‘zgaruvchi deyiladi va uning turi
massiv elementlarining turi bilan bir xil bo‘lishi kerak. Bu sikl operatori
ishlaganda, x o‘zgaruvchiga ketma-ket A massivning elementlarini taqdim
etadi. Massiv elementlarining sonini operatorning o‘zi nazorat qiladi. x
o‘zgaruvchiga A massivning elementlarini ketma-ket taqdim etishini uni
chop etib, ishonch hosil qilish mumkin. Masalan, quyidagi ko‘rinishda:
public class Main {
public static void main(String[] args) {
double s=0;
double A[]={2,5,6,-7,10,9,12,4,25,1};
for (double x:A) {
s+=x;
System.out.println("x=" +x);
}
System.out.println("s=" +s);
} }
for-each ko‘rinishidagi sikl operatorini ko‘p o‘lchovli massivlarga ham
qo‘llash mumkin. Buni quyidagi misolda ko‘ramiz:
public class Main {
public static void main(String[] args) {
int i,j, s=0;
int A[][]=new int[3][4];
// A massiv elementlarini hosil qilish
for (i=0;i<3;i++)
for (j=0;j<4;j++)
A[i][j]=(i+1)*(j+1);
// Massiv elementlarini yig‘ish
for (int x[]:A)
for (int y:x) s+=y;
System.out.println("s="+s);
} }
Programma ishlaganda, s=60 chop etiladi. Programmadagi int x[]:A ga
e’tibor bering. Bu holda iteratsion o‘zgaruvchi massivdan iborat ekan.
VERGUL OPERATORI.
Shunday hajmlar ham bo’ladiki for siklining inisializasiya va interasiya bo’limlari bir necha operatorlarni talab qiladi. For siklining sarlavhasidagi figurali qavsning qo’shma operatorida qo’yish mumkin emas,Java alternative yo’l taqdim etadi.Vergul bir necha operatorlarni bo’lish(ajratish) uchun faqatgina for n operatorining aylana qavslari uchun ruxsat etiladi.
Pastda for siklliga misol keltirilgan.Bu erda inisializasiya bir nechtadan operator mavjud.
class Comma {
public static void main(String args[]) {
int a, b;
for (a = 1, b = 4; a < b; a++, b--) {
System.out.println("a = " + a);
System.out.println("b = " + b);
}
} }
Xulosa qilib shuni aytib o’tish kerakki,sikl bor yo’g’i ikki martta bajariladi.
С: \> java Comma
а = 1
b = 4
а = 2
b = 3
while -sikl operatori.
while-sikl operatorining ko‘rinishi quyidagicha:
while (shart){
// takrorlanuvchi operatorlar
}
Bu operator ishlaganda, oldin shart tekshiriladi. Agar shartning qiymati rost bo‘lsa,, takrorlanuvchi operatorlar bajariladi va bu jarayon shart yolg‘on bo‘lguncha davom etadi. Qachonki shart yolg‘on bo‘lsa, ya’ni shart bajarilmasa, } dan keyingi operatorga bajarilish uzatiladi. Agar takrorlanuvchi operatorlar soni bitta bo‘lsa, bu operatorni while (shart) takrorlanuvchi operator; ko‘rinishida ham yozish mumkin. Xuddi shuningdek, bu operatorni while (shart) ;ko‘rinishida ham qo‘llash mumkin.
do-while
Operator bajariladi va undan keyin bajariladi. Agar ning natijasi chin bulsa yana bajariladi va yana tekshiriladi va xokazo toki dan yolgon natija chikguncha. dan yolgon natija chikdiki do-while operatori uz ishini tugatadi deb xisoblanadi.
Izox: Bu erda xech bulmaganda bir marta ishlaydi.
gohida sikl tanasini bo’lmaganda bir martta bajarishga ehtiyoj seziladi,hattoki mantiqiy ifoda boshdan false mohiyatini qabul qilayotgan bo’lsada,bunday paytda Javada do-while siklli konstruksiya qo’llaniladi.Uning umumiy ko’rinishi quyidagicha.
[ inisializasiya; ] do { tana; [iterasiya;] } while ( yakunlash );
Keyingi misolda sikl tanasi yakunlash shartini birinchi tekshirilishigacha bajaradi.Bu iterasiya nkodini yakunlash sharti bilan joylashtirishni ta’minlaydi.
class DoWhile {
public static void main(String args[]) {
int n = 10;
do {
System.out.println("tick " + n); }
while (--n > 0);
} }
Break operatori
Java tilida goto operatori mavjud emas.Shuning uchun ham ayrim hollarda gotoni,break operatori o’rinbosarlik vazifasini bajaradi.Bu operator blokni ishlashi to’xtatilib boshqarishni operatorga berishi haqida ma’lumot beradi.Bloklarni nomlash uchun Javada belgilar mavjud. Break operatori sikllar bilan ishlash jarayonida va switch operatorlarida belgisiz ishlasa ham bo’ladi.
Masalan:bu programmaga uchta blok kritilgan,har birini o’zining belgisi mavjud.Ichkari blokda turgan break operatori blokidan so’ng turgan operatorni o’tishini chaqiradi.Bunda ikkita println operatori tushurib qoldiriladi.
class Break {
public static void main(String args[]) {
boolean t = true;
a: {
b: {
c: {
System.out.println("Before the break"); // Перед break if (t) break b; System.out.println("This won't execute"); //He будет выполнено } System.out.println("This won't execute"); // He будет выполнено } System.out.println("This is after b"); //После b
} } }
Programmadan so’ng siz quyidagi natijani olasiz:
С:\> Java Break
Before the break
This is after b
continue
ayrim variantlarda keyingi iterasiyaga tezda o’tish talab etiladi.Bu maqsadda Javada continue operatori yaratilgan.
Keyingi misolda continue operatori har bir qatorda ikkitadan raqam ishlatilishi uchun qo’llaniladi.
class ContinueDemo {
public static void main(String args[]) {
for (int i=0; i < 10; i++) {
System.out.print(i + " ");
if (i % 2 == 0) continue;
System.out.println("");
} }}
Agar indeks aniq bo’lsa,unda sikl yangi qatorda xulosasiz davom etadi.Bu programmaning natijasi quidagicha ifodalanadi:
С: \> java ContinueDemo
0 1
2 3
4 5
5 7
8 9
class ContinueLabel {
public static void main(String args[]) {
outer: for (int i=0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j > i) {
System.out.println("");
continue outer;
}
System.out.print(" " + (i * j));
} } }}
Xuddi break operatoridagidek continue operatorida ham belgi yuklash nmumkin.
Continue operatori bu programmada hisobi bilan ichki siklni yakunlashiga va keyingi hisobli tashqi sikl iterasiyasiga olib keladi.Ish jarayonida programma quyidagi satrlarni taqdim etadi:
С:\> Java ContinueLabel
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
№
|
Java dasturlash tilida berilishi
|
Vazifasi
|
C++dasturlash tilida berilishi
|
Vazifasi
|
farqlari
|
1
|
If operatorining sintaksisi:
if (){}
Misol:
If((x>14)&&(x<18)){
System.out.println(“o’smir yosh”);
}
|
Mulohaza rost bo’lsa operatorlar bloki bajariladi, aks holda operatorlar bloki bajarillmasdan if operatoridan keyingi operator bajariladi
|
If operatorining sintaksisi:
if (){}
Misol:
If((x>14)&&(x<18)){
cout<<“o’smir yosh”;
}
|
Mulohaza rost bo’lsa operatorlar bloki bajariladi, aks holda operatorlar bloki bajarillmasdan if operatoridan keyingi operator bajariladi
|
Java dasturlash tilida va C++ dasturlash tilida if opertorining ishlash prinsipi bir xil.
|
2
|
If-else operatorining sintaksisi:
If(){
}else{
}
Misol:
If(a/2==0){
System.out.println(“juft”);}
else{
System.out.println(“toq”);}
|
Mulohaza rost bo’lsa operator1 bajariladi aks holda operator2 bajariladi
|
If-else operatorining sintaksisi:
If(){
}else{
}
Misol:
If(a/2==0){
cout<<”juft”;}
else{
cout<<“toq”;}
|
Mulohaza rost bo’lsa operator1 bajariladi aks holda operator2 bajariladi
|
Java dasturlash tilida va C++ dasturlash tilida if-else opertorining ishlash prinsipi bir xil.
|
3
|
Nested if operatorining sintaksisi:
if(){
//;
If(shart){
//;
}
}
Misol:
if(i == 10) {
if(j < 20) a = b;
if(k > 100) c = d;
else a = c; // if(k > 100)
}
else a = d; // if(i == 10)
|
Ichma-ich joylashgan if operatordagi qiymatlar ketma-ket solishtiriladi. Agar qiymat biror variant bilan mos tushsa, shu variantga tegishli blok ichidagi operator yoki operatorlar bloki ishlaydi bu tanlov yakuniga yetadi
|
Ichma-ich if operatorining sintaksisi:
if(shart){
//;
If(shart){
//;
}
}
Misol:
if(i == 10) {
if(j < 20) a = b;
if(k > 100) c = d;
else a = c; // if(k > 100)
}
else a = d; // if(i == 10)
|
Ichma-ich joylashgan if operatordagi qiymatlar ketma-ket solishtiriladi. Agar qiymat biror variant bilan mos tushsa, shu variantga tegishli blok ichidagi operator yoki operatorlar bloki ishlaydi bu tanlov yakuniga yetadi
|
Java dasturlash tilida va C++ dasturlash tilida ichma-ich if opertorining ishlash prinsipi bir xil.
|
4
|
If-else-if ladder//(ladder-narvon) operatorining sintaksisi:
If(){
}
else if(){
}
else if(){}
..
Else{}
Misol:
int fasl = 4;
String value;
if (fasl== 1 )
value = "Qish";
else if (fasl == 2)
value = "Bahor";
else if (fasl == 3)
value = "Yoz";
else if (fasl == 4)
value = "Kuz";
else
value = "Bunday fasl mavjud emas";
System.out.println("Fasl nomi = " + value);
|
Agar shart1 to’g’ri bo’lsa,boshqa shartlarning haqiqiy yoki noto’g’ri ekanligidan qat’iy nazar faqat operator1 bajariladi.Qolganlari operator2,operator3 …operatorlar bajarilmaydi
|
If-else-if ladder(narvon) operatorining sintaksisi:
If(){
}
else if(){
}
else if(){}
..
Else{}
Misol:
int fasl = 4;
String value;
if (fasl == 1 )
value = "Qish";
else if (fasl == 2)
value = "Bahor";
else if (fasl == 3)
value = "Yoz";
else if (fasl == 4)
value = "Kuz";
else
value = " Bunday fasl mavjud emas ";
cout<<”Fasl nomi = " + value;
|
Agar shart1 to’g’ri bo’lsa,boshqa shartlarning haqiqiy yoki noto’g’ri ekanligidan qat’iy nazar faqat operator1 bajariladi.Qolganlari operator2,operator3 …operatorlar bajarilmaydi
|
Java dasturlash tilida va C++ dasturlash tilida if –else-if opertorining ishlash prinsipi bir xil.
|
5
|
Switch operatorining sintaksisi:
Switch(){
Case ;
Break;
Case ;
Break;
…..
Default}
Misol:
Int n=5;
switch(n)
{ case 2:System.out.println(” qoniqarsiz”);break;
case 3: System.out.println(”qoniqarli”);break;
case 4: System.out.println(”yaxshi”);break;
case 5: System.out.println(”a’lo”);break;
default : System.out.println(”noto’g’ri kiritdingiz”);break;
}
|
«Switch» operatoriga berilgan qiymat, «case» operatoridagi qiymatlar bilan birma-bir solishtiriladi. Agar qiymat biror variant bilan mos tushsa, shu variantga tegishli blok ichidagi operator yoki operatorlar bloki ishlaydi va «break» orqali bu tanlov(switch) yakuniga yetadi. Agar qiymat hech qaysi variant bilan mos tushmasa, «default» operatori ishlaydi va uning ichidagi operatorlar dastur ishlashini davom ettiradi.
«default» bloki bo‘lmasligi ham mumkin, bunda agar variantlar orasida bizning qiymat topilmasa, «switch» hech qanday xabar bermaydi.
|
Switch operatorining sintaksisi:
Switch(){
Case ;
Break;
Case ;
Break;
…..
Default}
Misol:
Int n=5;
switch(n)
{ case 2:cout<<” qoniqarsiz”;break;
case 3:cout<<”\qoniqarli”;break;
case 4:cout<<”yaxshi”;break;
case 5:cout<<”a’lo”;break;
default :cout<<”noto’g’ri kiritdingiz”;break;
}
|
«Switch» operatoriga berilgan qiymat, «case» operatoridagi qiymatlar bilan birma-bir solishtiriladi. Agar qiymat biror variant bilan mos tushsa, shu variantga tegishli blok ichidagi operator yoki operatorlar bloki ishlaydi va «break» orqali bu tanlov(switch) yakuniga yetadi. Agar qiymat hech qaysi variant bilan mos tushmasa, «default» operatori ishlaydi va uning ichidagi operatorlar dastur ishlashini davom ettiradi.
«default» bloki bo‘lmasligi ham mumkin, bunda agar variantlar orasida bizning qiymat topilmasa, «switch» hech qanday xabar bermaydi.
|
Java dasturlash tilida va C++ dasturlash tilida switch opertorining ishlash prinsipi bir xil.
|
6
|
While operatorining sintaksisi:
While(){
}
Misol:
int d=10;
while(d<10){
System.out.println(d);
d++;
}
|
Agar(shart) rost(true) qiymatga ega bo’lsa,operatorlar bloke bajariladi.Qachonki shart yolg’on(false) qiymatda teng bo’lsa sikl tugatiladi va while operatoridan keying operatorga uzatiladi.
|
While operatorining sintaksisi:
While(){
}
Misol:
int d=10;
while(d<10){
cout<
d++;
}
|
Agar(shart) rost(true) qiymatga ega bo’lsa,operatorlar bloke bajariladi.Qachonki shart yolg’on(false) qiymatda teng bo’lsa sikl tugatiladi va while operatoridan keying operatorga uzatiladi.
|
Java dasturlash tilida va C++ dasturlash tilida while opertorining ishlash prinsipi bir xil.
|
7
|
Do – While operatorining sintaksisi:
do{
}
while()
Misol:
int i = 0;
do {
System.out.print(i);
i++;
} while (i < 10);
System.out.println(); do {
System.out.print("Do...while is cool;");
} while (2 == 3);
|
do xizmatchi so’zidan keying operatorlar bajailadi,keyin while xizmatchi so’zidan keying shart tekshiriladi.Agar shart rost(true) natija bersa do xizmatchi so’zidan keying operatorlar qayta bajariladi.Shart qayta tekshiriladi,bu jarayon yolg’on(false)natija berguncha takrorlanadi.Qachon while xizmatchi so’zidan keying shart yolg’on (false) qiymatga ega bo’lsa,bosshqarilish do-while operatoridan keying operatorga uzatiladi.
|
Do – While operatorining sintaksisi:
do{
}
while()
Misol:
int i = 0;
do {
cout<
i++;
} while (i < 10);
cout<<””; do {
cout<<"Do...while is cool;";
} while (2 == 3);
|
do xizmatchi so’zidan keying operatorlar bajailadi,keyin while xizmatchi so’zidan keying shart tekshiriladi.Agar shart rost(true) natija bersa do xizmatchi so’zidan keying operatorlar qayta bajariladi.Shart qayta tekshiriladi,bu jarayon yolg’on(false)natija berguncha takrorlanadi.Qachon while xizmatchi so’zidan keying shart yolg’on (false) qiymatga ega bo’lsa,bosshqarilish do-while operatoridan keying operatorga uzatiladi.
|
Java dasturlash tilida va C++ dasturlash tilida do-while opertorining ishlash prinsipi bir xil.
|
8
|
For operatorining sintaksisi:
for(; ; )
Misol:
for(int i=0;i<=10;i++){
System.out.println(i);
}
|
Boshlang’ich qiymat berilgandan boshlab to mulohaza true bo’lgan har-bir qadamda blok ichidagi kod yoki kodlar takroran bajarilaveradi. Mulohaza false bolgan holda takrorlanish yakunlanadi.
|
For operatorining sintaksisi:
for(; ; )
Misol:
for(int i=0;i<=10;i++){
cout<
}
|
Boshlang’ich qiymat berilgandan boshlab to mulohaza true bo’lgan har-bir qadamda blok ichidagi kod yoki kodlar takroran bajarilaveradi. Mulohaza false bolgan holda takrorlanish yakunlanadi.
|
Java dasturlash tilida va C++ dasturlash tilida for opertorining ishlash prinsipi bir xil.
|
9
|
For-each operatorining sintaksisi:
for( :){
}
Misol:
int arr[]={12,23,44,56,78};
for(int i:arr){
System.out.println(i);
}
|
Massiv elementlari soni marta takrorlanuvchi bu sikl massivning har-bir elementini har-bir qadamda “var” o’zgaruvchiga o’zlashtirib oladi va qiymatni blok ichida ishlatish mumkin.
|
|
|
Bu oprator C++tilida mavjud emas.
Ammo C++ 11 versiyasida for-each funksiyasi mavjud va huddi Java dasturlash tilidagi kabi operator kabi bir xil vazifani bajaridi.
|
10
|
Javada cheksiz takroranuvchi For Loop operatorining sintaksisi:
for(;;){
// ;}
Misol:
for(;;){
System.out.println("infinitive loop");
}
|
For operatori zaruriy parametrlari berilmagan holda takrorlanish cheksiz davom etadi.
|
C++da cheksiz takroranuvchi For operatorining sintaksisi:
for(;;){
//;
}
Misol:
for(;;){
cout<<"infinitive loop";
}
|
For operatori zaruriy parametrlari berilmagan holda takrorlanish cheksiz davom etadi.
|
Java dasturlash tilida va C++ dasturlash tilida cheksiz takrorlanuvchi for opertorining ishlash prinsipi bir xil.
|
11
|
Java Labeled For Loop operatorining sintaksisi:
labelname:
for(; ; ){
}
labelname:
for(; ; ){
}
Misol:
aa:
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
break aa;
}
System.out.println(i+" "+j);
}
}
|
For takrorlanuvchi operatori belgi (label) bilan berilgan holda ichma-ich sikllarda tashqi siklga murojat qilish mumkin.
|
C++da shartsiz o’tish GOTO operatorining sintaksisi:
GOTO
Misol:
int n, I, j, k;
M1:
cout<<'\n n='; cin>>n;
if (n<=0)
{ cout<<'\n hato! n>0 bulishi kerak';
goto M1;} ;
M: cout<<'x sonlarni kiriting \n';
for (I=1; I<=10; I++) {cout<<'\n I='<< I;
for (j=1 ; j<=10; j++) {cin>> k;
if (k<=0) goto M;}
}
aa:
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
GOTO aa;
}
System.out.println(i+" "+j);
}
}
|
C++ da shartsiz o’tish goto operator identifikator bilan belgilangan operatorga o’tish kerakligini ko’rsatadi.
.
|
Java dasturlash tilida Labeled For Loop operatori va C++ dasturlash tilida shartsiz o’tish GOTO operatorining vazifasi bir xil,berilish sintaksis yozilishi har xil.
|
12
| Break operatori:
for ( int i = 1 ; i <= 10 ; i ++) {
if (i == 5 ) {
break ;
}
System.out.println (i);
} |
«Break» operatori dasturda, sikldan chiqish va «shartsiz o‘tish» operatori kabi vazifalarni ham bajaradi.
| Break operatori :
for ( int i = 1 ; i <= 10 ; i ++) {
if (i == 5 ) {
break ;
}
cout< } |
«Break» operatori dasturda, sikldan chiqish va «shartsiz o‘tish» operatori kabi vazifalarni ham bajaradi.
|
Java dasturlash tilida va C++ dasturlash tilida Break opertorining ishlash prinsipi bir xil.
|
13
| Continue operatoriga misol: for(int i=1;i<=10;++i){ if(i>4 && i<9){ continue; } System.out.println(i); } |
Bu operator, ishlayotgan sikl qadamini tashlab ketib, navbatdagi qiymat bilan siklni boshidan boshlab davom ettiradi. Sikl tanasida ishlatilgan «continue» operatori, o‘zidan keyin kelgan operatorlarni ishlatmaydi.
| Continue operatoriga misol: for(int i=1;i<=10;++i){ if(i>4 && i<9){ continue; } cout< } |
Bu operator, ishlayotgan sikl qadamini tashlab ketib, navbatdagi qiymat bilan siklni boshidan boshlab davom ettiradi. Sikl tanasida ishlatilgan «continue» operatori, o‘zidan keyin kelgan operatorlarni ishlatmaydi.
|
Java dasturlash tilida va C++ dasturlash tilida Continue opertorining ishlash prinsipi bir xil.
| 0>0>
Do'stlaringiz bilan baham: |