JavaRush /Java Blogu /Random-AZ /Java-da fasilə ifadəsi
iloveski
Səviyyə
Москва

Java-da fasilə ifadəsi

Qrupda dərc edilmişdir
Bütün həmkarlara və sadəcə maraqlananlara salam.
Java-da fasilə ifadəsi - 1
Bu gün biz Java proqramlaşdırma dilinin fasilə operatoru kimi bir xüsusiyyətinə baxacağıq. Bu keçid operatorları mövzusunda ilk məqalədir, buna görə də bəyənsəniz, daha çox yazmaqdan məmnun olaram. Dərhal qeyd etmək istərdim ki, bu məqalə ilk növbədə yeni başlayan tərtibatçılar üçün nəzərdə tutulub və daha qabaqcıl tələbələr burada özləri üçün yeni heç nə tapa bilməzlər. Beləliklə, gedək. Java-da proqram təlimatlarının yerinə yetirilmə ardıcıllığını dəyişdirməyin 2 yolu var: keçid ifadələri və istisnalarla işləmə mexanizmi. Java-da üç keçid operatoru var: break, continue və return. Bu gün sizi operatorla daha yaxından tanış olmağa dəvət edirəm break. İstisnaların idarə edilməsi o qədər geniş mövzudur ki, bu məqalənin əhatə dairəsi xaricindədir. Java-da break ifadəsindən istifadə etməyin üç yolu var. Birinci və ən populyar yol, onu dövrədən erkən çıxmaq üçün istifadə etməkdir break, məsələn:
public class SimpleExample {
    public static void main(String[] args) {
        findNumberInLoop(3);
    }
    public static void findNumberInLoop(int number){
        for (int i = 0; i < 10; i++) {
            if (i == number) {
                break;
            }
            System.out.println(i);
        }
        System.out.println("cycle was finished");
    }
}
Bu nümunə göstərəcək:
1
2
cycle was finished
Bu o deməkdir ki, dövrə sayğacı iverilən parametrə number, yəni 3 rəqəminə bərabər olduqda, dövrənin icrası erkən dayandırılır. Proqramda bir neçə iç-içə döngə varsa, o zaman çıxışları yalnız ən daxili dövrədən kəsin, məsələn:
public class SimpleExample {
    public static void main(String[] args) {
        findNumberInLoop(3);
    }
    public static void findNumberInLoop(int number){
        for(int i = 0; i < 5; i++) {
            for (int j =0; j < 10; j++) {
                if(j == number) {
                    break;
                }
                System.out.print(j);
            }
            System.out.println();
        }
        System.out.println("cycles was finished");
    }
}
Bu nümunə çıxışı verir:
012
012
012
012
012
cycles was finished
Nümunədən göründüyü kimi, daxili döngə hər dəfə 3 nömrəsində (parametr number) kəsilir, xarici döngə isə nəzərdə tutulduğu kimi 5 dəfə yerinə yetirilir. Java-da bir döngə daxilində birdən çox fasilə ifadəsindən istifadə edə bilərsiniz, lakin kodun oxunaqlılığı və strukturu çox pisləşdiyi üçün bu tövsiyə edilmir. İkinci istifadə breakonu filiallarda ifadələrin icrasını dayandırmaq üçün istifadə etməkdir switch, məsələn:
public class SimpleExample {
    public static void main(String[] args) {
        square(2);
    }

    public static void square(int number){
        switch (number){
            case 1:
                System.out.println(number*number);
                break;
            case 2:
                System.out.println(number*number);
                break;
            case 3:
                System.out.println(number*number);
                break;
        }
        System.out.println("after switch");
    }
}
Bu nümunəni işə salmaq nəticə çıxaracaq:
4
after switch
Break bəyanatı nəzarəti bütün blokdan sonra koda keçirdi switch. Bu nümunədə breakqeyd etməsəniz :switch
public class SimpleExample {
    public static void main(String[] args) {
        square(2);
    }
    public static void square(int number){
        switch (number){
            case 1:
                System.out.println(number*number);
            case 2:
                System.out.println(number*number);
            case 3:
                System.out.println(number*number);
        }
        System.out.println("after switch");
    }
}
Nəticə gözlənildiyi kimi olmayacaq:
4
4
after switch
Bu ona görə baş verdi ki, blok icra edildikdən sonra case 2proqram bütün sonrakı bloklarını icra etməyə davam etdi və bu, bizə müvafiq çıxışı verdi. Bəzən operatorun bu xüsusiyyəti switch bizim üçün faydalı ola bilər, məsələn:
public class SimpleExample {
    public static void main(String[] args) {
        compare(2);
        compare(7);
        compare(12);
    }
    public static void compare(int number){
        switch (number){
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("number is less than 5 or equal 5");
                break;
            case 6:
            case 7:
            case 8:
            case 9:
                System.out.println("number is greater than 5");
                break;
            default:
                System.out.println("number is less than 0 or greater than 9");
        }
        System.out.println("after switch");
    }
}
Bu proqram verilmiş ədədi 5 rəqəmi ilə müqayisə edir və aşağıdakı nəticəni verir:
after switch
number is greater than 5
after switch
number is less than 0 or greater than 9
after switch
Metod ilk dəfə çağırılanda operator switchidarəetməni operatora , sonra isə -dəki case 2operatora ötürür . İkinci zəng birinciyə bənzəyir, lakin c ilə başlayır . Üçüncü zəng bütün hallar arasında uyğun qiymət tapmır, ona görə də operator icra olunur . Üçüncü yol C operatorunun yerinə operatordan istifadə etməkdir.Bunun üçün operatorun etiketlə çağırılan xüsusi formasından istifadə edəcəyik. Bu forma Etiketə bənzəyir - bu adətən kod blokundan əvvəl java adlar sahəsindən istənilən uyğun addır. Üstəlik, bu kod blokunu etiketlə tətbiq etdikdən sonra kod müvafiq etiketlə blokdan sonrakı yerdən icra olunmağa davam edəcək, məsələn: breakcase 5case 7defaultbreakgotobreakbreakbreak метка;break
public class SimpleExample {
    public static void main(String[] args) {
        howWeUseLabels(true);
        System.out.println();
        howWeUseLabels(false);
    }
    public static void howWeUseLabels(boolean bool) {
        firstBlock:{
            secondBlock:{
                thirdBlock:{
                    System.out.println("We will see it always");
                    if(bool) {
                        break secondBlock;
                    }
                    System.out.println("We won't see it if bool == true");
                }
                System.out.println("We won't see it if bool == true");
            }
            System.out.println("We will see it always");
        }
    }
}
Bu nümunə aşağıdakı çıxışı verəcəkdir:
We will see it always
We will see it always

We will see it always
We won't see it if bool == true
We won't see it if bool == true
We will see it always
Birinci metod çağırışından sonra operator breaknəzarəti blokun sonuna köçürür secondBlock, çıxış secondBlockvə sonunda thirdBlockbaşqa bir operatoru yerinə yetirir . İkinci zəngdən sonra ekranda bütün sətirlər göstərilir. Etiketlər dövrləri göstərmək üçün də istifadə edilə bilər. Yadda saxlamaq lazımdır ki, etiketə yalnız etiketlə göstərilən kod blokunun daxilindən keçə bilərsiniz, məsələn, belə kod tərtib edilməyəcək: println()firstBlock
public class SimpleExample {
    public static void main(String[] args) {
        label:{
            System.out.println("inside label");
        }
        if(true) {
            break label;
        }
        System.out.println("This is error");
    }
}
Kod və bəyanatın təmizliyinə dair qeydlər break: İfadədən çox diqqətlə istifadə etmək üçün ümumi qəbul edilmiş tövsiyələr var break, çünki istifadə breakdöngənin başa düşülməsini çətinləşdirir və proqramçının işinin nüanslarını başa düşmək üçün dövrənin içərisinə baxmağa məcbur edir. Daha qısa döngələrdə daha inamlı, uzun və dərin iç-içə döngələrdə isə daha ehtiyatla istifadə edə biləcəyiniz bir evristik qayda var break , çünki bu, səhv ehtimalını artırır və kodunuzun digər proqramçılar tərəfindən oxunmasını və başa düşülməsini çətinləşdirir. Yuxarıda yazdığım kimi, breakkodun hər tərəfinə səpələnmiş çoxlu sayda .-nin istifadəsi proqramçının kodunu niyə belə yazdığını tam başa düşmədiyini göstərir. Belə bir döngəni bir neçə kiçik döngəyə bölmək yolu ilə yenidən işləməyi nəzərdən keçirməyə dəyər ola bilər. break Etiketi əvəz edən kimi istifadə edərkən diqqətli olmağa çalışın goto, çünki bu kod strukturunu çətinləşdirir. Bu gün sizə java-dakı operator haqqında demək istədiyim bütün bunlardır break. continueKonstruktiv tənqidlərə şad olaram, həmçinin operatorlar haqqında və returnmaraqlanırsınızsa, davamını da yazmağa hazıram .
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION