Yükleniyor...

Java'da break ve continue

i'yi 1'den 5'e döngüleyin. i 3 olunca, yazdırmadan önce break ile döngüden çıkın. Ekranda yalnızca iki satır görünmeli: 1, sonra 2. Bu erken duruş bu sayfadaki bir araçtır. Diğer araç continue'dur: bir geçişi atlar ve döngüyü sürdürür, böylece 3 yazılmaz ama 4 ve 5 hâlâ yazılır.

break döngüyü erken bitirir

Skip.java adında küçük bir program dosyası oluşturun. İlk satırdaki public class dosya adıyla aynı olmalıdır: public class Skip. Bu dosyada eski bir Pulse veya Beat sınıf adını bırakmayın; derleyici sınıf adıyla dosya adının uyuşmasını bekler.
main içinde erken durabilen bir for yazın:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
break;
}
System.out.println(i);
}
for başlığı bildiğiniz şekildedir: başlangıç, test, adım. Süslü parantezlerin içinde bir if, i'nin 3'e eşit olup olmadığını sorar. Bu true olunca break; çalışır. break tüm for döngüsünü bir anda terk eder. if altındaki println o geçişte çalışmaz ve i bu döngü içinde 4 veya 5'e ulaşmaz. i 1 veya 2 iken if false'tur, bu yüzden println(i) sayıyı yazar. Derlemeden önce dosyayı kaydedin.

break ile duran program

İlk derlediğiniz sürüm budur.

i 3 iken break

java
public class Skip {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i = i + 1) {
            if (i == 3) {
                break;
            }
            System.out.println(i);
        }
    }
}

Skip.java'nın bulunduğu klasörden javac Skip.java çalıştırın. Yuvarlak parantezler, süslü parantezler ve noktalı virgüller uyuşunca javac kendi satırını yazmaz. Sonra java Skip çalıştırın — java Skip.java değil. İkinci komuttan .java sonunu çıkarın. Aynı iki komut hem Windows'ta hem macOS'ta çalışır; bu sayfa iki sistem için ayrı kabuk yazımı istemez. Program iki satır yazmalı ve durmalıdır: 1, sonra 2. Sizin yazmanızı beklemez. Terminal klavye girişi bekliyorsa, dosyada eski bir alıştırmadan nextLine çağrısı hâlâ vardır. O çağrıyı silin ve yukarıdaki for ile break'i tutun. Ekranda yanlış bir satır, yeni bir JDK kurmanız gerektiği anlamına gelmez.

break çalıştırmasını sırayla izleyin. i 1'den başlar. if false'tur, bu yüzden println 1 yazar. Adım 2'yi saklar. if yine false'tur, bu yüzden println 2 yazar. Adım 3'ü saklar. Şimdi i == 3 doğrudur, bu yüzden break çalışır ve for biter. 3, 4 veya 5 için hiçbir şey yazılmaz. break'siz düz bir döngü beş satır yazardı; break iki yazdırmadan sonra döngüyü kısalttı. O geçişte break'ten sonra adım çalışmaz ve test yeniden sorulmaz, çünkü döngü zaten bitmiştir.

continue bir geçişi atlar

Gövdeyi değiştirin: continue break'in yerini alsın ve println if'ten sonra kalsın:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
continue;
}
System.out.println(i);
}
i 3 olunca continue; o geçişin geri kalanını — println dahil — atlar ve for adıma ve sonraki teste gider. Döngünün kendisi bitmez. Ekranda dört satır görünmeli: 1, 2, 4 ve 5. Boşluk, 3'ün olabileceği yerdir.

i 3 iken continue

java
public class Skip {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i = i + 1) {
            if (i == 3) {
                continue;
            }
            System.out.println(i);
        }
    }
}

Yeniden derleyip çalıştırın: javac Skip.java, sonra java Skip. Dört satır görmelisiniz. for başlığını değiştirmediniz — yalnızca break continue oldu. Dört satırı gördükten sonra ilk demoya dönmek için break'i geri koyabilirsiniz. Her iki sürüm de geçerli Java'dır. Aynı döngü şekli içinde iki farklı erken hareketi öğretirler.

continue çalıştırmasını bir kez daha okuyun. i 1, 2, 3, 4, 5 gider. 1 ve 2 için if false'tur ve sayılar yazılır. 3 için continue println'i atlar. 4 ve 5 için sayılar yine yazılır. Döngü i 6 olduğunda hâlâ kendi normal duruşuyla biter. continue for'u asla bitirmez; yalnızca bir geçişin geri kalanını atlar. continue'dan sonra for yine i = i + 1 adımını çalıştırır, bu yüzden o geçiş hiçbir şey yazmasa bile sayaç ilerler.

📊 araç ve ekran

i == 3 iken araç Ekran
break 1 sonra 2
continue 1 sonra 2 sonra 4 sonra 5

Tabloyu bir çalıştırmanın yerine değil, çalıştırmadan sonra kontrol olarak kullanın. break iki satır bırakır. continue 3 eksik dört satır bırakır. continue isterken hâlâ 3 görünüyorsa, muhtemelen println if'in üstündedir — println'i continue'nun altına taşıyın ki atlama ona ulaşsın. Sırayı düzeltin; Java'yı yeniden kurmayın.

İki aracı net tutan kurallar

break ve continue bir döngü gövdesinin içine aittir. main içinde çevreleyen for veya while olmadan yalnız break; yazmayı javac kabul etmez. continue; için de aynıdır. Bu sayfada bir if anı seçer: i 3 olunca. Sonra başka testler yazabilirsiniz; demolar ekran değişiminin kolay görülmesi için i == 3 tutar.

break, continue değildir. break döngüyü bitirir. continue bir geçişi atlar ve döngüde kalır. Buradaki araçlardan hiçbiri, switch sayfasındaki break'in orada gördüğünüz kullanımıyla aynı değildir — burada çevreleyen yapı bir for'dur. Yalnızca sayan Pulse sayfasındaki while'ı veya if'siz Beat sayfasındaki for'u aynı main içinde bırakıp neden 1'den 5'e her sayının hâlâ yazıldığını merak etmeyin. Bu oturumun main'i for ile birlikte break veya continue'lu if tutmalıdır.

Yaygın bir karışıklık sözcüğün kendisini yazdırmaktır: System.out.println("break");. Bu satır break karakterlerini yazar. Bir döngüyü durdurmaz. Başka bir karışıklık, continue tutan if'in üstüne println(i); koymaktır; o zaman 3 hâlâ yazılır ve sonra continue, atlanacak bir şey kalmadan çalışır. Her iki demoda da println'i if'ten sonra tutun. Çevreleyen döngü olmadan continue yazarsanız javac hata bildirir; herhangi bir döngünün dışında yalnız break için de aynı olur. Bu dersin şeklinde bu iki sözcük yalnızca bir döngü gövdesinin içinde anlam taşır.

Artık ne yapabilirsiniz

Döngünün içine break koyup erken çıkabilir, ya da continue koyup bir geçişi atlayıp sürdürebilirsiniz. Bir if bunun ne zaman olacağını seçebilir. Sonraki sayfa for-each'tir; orada döngü bir koleksiyondaki her değeri, başlangıç, test ve adımı önceki gibi elle yazmadan dolaşır.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
5
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek