O‘tish operatorlari, boshqaruvni, dasturning bir qismidan boshqa bir qismiga ko‘chirish uchun ishlatiladi. Java dasturlash tilida 3 xil o‘tish operatorilari mavjud: break, continue, return. «Break» operatori biror sikldan to‘liq chiqish uchun ishlatiladi, «continue» esa ishlayotgan sikl qadamini to‘xtatib, sikl boshiga o‘tadi va navbatdagi qadam bilan sikl ishlashini davom ettiradi. «Return» operatoridan biror-bir metoddan chiqish uchun foydalaniladi.

Oxirgi operatorni, keyingi maqolalarda ko‘ramiz.

«Break» operatori.

Bu operator bilan, «switch» haqidagi maqoladan uchrashgan edik. U yerda bu operator, operatorlar ketma-ketligini tugatish uchun ishlatilgan edi. «Break» operatori dasturda, sikldan chiqish va «shartsiz o‘tish» operatori kabi vazifalarni ham bajaradi. Keling ikkala holni ham ko‘rib chiqaylik, dastlab bu operator orqali qanday qilib sikldan chiqish mumkinligini ko‘rsataman.

Oldingi maqolalardan ma’lumki, sikl shartga bog‘liq holda operator yoki operatorlar guruhini ishlatib turadi. Qachonki shart yolg‘on bo‘lsa, sikl o‘z ishini tugatadi va sikldan keyingi operatorlar ishlashni boshlaydi. «Break» operatori sikl shartiga qaramasdan, siklni tugatadi, hattoki, sikl sharti rost qiymat qabul qilayotgan bo‘lsa ham.

class test{
public  static  void main(String args[]){
for(int i=0; i<100; i++){
 System.out.println("Son"+i);
 if (i==10) break;
}
System.out.println("Sikl tugadi");
}
}

Dasturdan ko‘rinib turibdiki, sikl yordamida 100 ta qiymat ekranga chiqarilishi lozim(i<100, 0 dan 99 gacha), lekin unday bo‘lmaydi, chunki «break» operatori mavjud(5-qatorda). Bu operator «if» operatori bilan birga kelgan. Demak, shart qo‘yilgan, agar «i» o‘zgaruvchi qiymati «10» ga teng bo‘lsa, «break» operatorini ishlat, ya’ni siklni tugat.

Sikl 100 marotaba ishlashi ko‘zda tutilgan bo‘lsa ham, 11 chi qadamda(i=10 bo‘lganda) sikl yakunlanadi va keyingi operator(7-qator) ishlaydi.

break_1

Aytish joizki, «break» operatori boshqa sikl operatorlari(while, do-while) bilan ham ishlatilishi mumkin. Agar ichma-ich sikl(sikl ichida sikl) bo‘lsa, «break» operatori qaysi sikl tanasida joylashganligiga qarab, o‘sha siklni tugatadi(ichki siklda bo‘lsa, ichki siklni tugatadi va tashqi sikl o‘z ishini davom ettiraveradi, agar tashqi siklda bo‘lsa, barcha sikllar o‘z ishini tugatadi).

Endi, «break» operatorini «shartsiz o‘tish» operatori ko‘rinishida namoyon bo‘lishini ko‘ramiz. Ko‘p dasturlash tillarida «goto» nomli operator mavjud bo‘lib, shartsiz kodning biror qismiga o‘tishni amalga oshirib beradi. Ko‘pchilik bu operatordan foydalanmaydi, chunki bu operator dastur strukturasini o‘zgartirib yuboradi. Java dasturlash tilida bu operator mavjud emas, uning o‘rniga «break» operatorini kengaytirilgan ko‘rinishi ishlatiladi. Bu operator orqali, ko‘rsatilgan biror-bir blok, sikl, ichma-ich sikldan chiqib ketish mumkin. Sintaksisi quyidagicha,

break metka;

Metka — istalgan nomdagi(kalit so‘zlardan boshqa) identifikator bo‘lib, dasturning biror qismini «atash» uchun ishlatiladi. Kerakli paytda, metka yordamida dasturning shu qismidan chiqib ketish mumkin.

class test {
public static void main(String args[]) {
int t = 10;
akmx1:{
    akmx2:{
       System.out.println("Operator 1");
       if (t==10)
       break akmx2;
       System.out.println("Operator 2");
       System.out.println("Operator 3");
      }
  System.out.println("Operator 4");
  }
}
}

Dasturda, ikkita metka ishlatildi(akmx1, akmx2), bu  metkalar dasturni ikkita blokka ajratib berdi. Keyin, «t» o‘zgaruvchiga 10 soni o‘zlashtirildi. So‘ng, tekshirish amalga oshirildi(7-qator), agar o‘zgaruvchi 10 soniga teng bo‘lsa, «akmx2» nom bilan atalgan dastur qismi tugatilsin(break akmx2). Bu degani «akmx2» blokiga tegishli qolgan operatorlar ishlamaydi(9,10 chi qatorlar).

break_2

«Continue» operatori.

Bu operator, ishlayotgan sikl qadamini tashlab ketib, navbatdagi qiymat bilan siklni boshidan boshlab beradi. Sikl tanasida ishlatilgan «continue» operatori, o‘zidan keyin kelgan operatorlarni ishlatmaydi.

class test {
public static void main(String args[]) {
for (int i=0; i<10; i++) {
    System.out.print("Son "+i+" ");
    if (i%2==0) continue;
    System.out.println(" ");
}
}
}

«Print» operatori ishlatilganda, kursor, chiqarilgan yozuv yonida qoladi, bu degani keyingi safar yana biror yozuv ekranga chiqarilsa, dastlabki yozuv yoniga yoziladi degani. Agar «println» ishlatilsa, kursor bitta pastki qatorga tushib, keyingi yozuv chiqishini kutib turadi, chiqarilgan navbatdagi yozuv keyingi qatordan chiqadi.

4-qatorda ekranga, o‘zgaruvchi qiymati chiqarildi, so‘ng bo‘sh joy qoldirildi va kursor shu qatorda qoldi(print). 5-qatorda tekshiruv amalga oshirildi, agar o‘zgaruvchi qiymati juft son bo‘lsa, «continue» operatori ishga tushsin va 6-chi qator tashlab ketilib, sikl navbatdagi qiymat bilan ishlashni davom ettirsin. Agar juft bo‘lmasa, 6-chi qator ishlaydi va kursorni bitta pastga tushirib beradi. Shu orqali biz juft va toq sonlarni har-xil ustunlarga yig‘amiz.

continue_1