Etiketli break
Dış döngülerden düzgünce çıkın.
Etiketli break, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
İç İçe Döngülerdeki Sorun
Yalın bir break yalnızca iç döngüden çıkar. Ancak çoğu zaman her iki döngüden aynı anda ayrılmak istersiniz.
Bir ızgarada tek bir değeri aradığınızı düşünün. Değeri bulduğunuzda yalnızca iç döngüyü değil, her şeyi durdurmak istersiniz.
Java bu sorunu etiketli break ile çözer.
Etiket Nedir
Bir etiket, sonuna iki nokta üst üste işareti ekleyerek bir döngüye verdiğiniz addır.
Örneğin bir for döngüsünün hemen önüne yazılan outer:, bu döngüyü "outer" olarak adlandırır.
Etiketler tek başlarına hiçbir şey yapmaz. break veya continue ile birlikte kullanıldıklarında işe yararlar.
outer:
for (int i = 0; i < 3; i++) {
// 'outer' is now a name for this loop
}Etiketli break Sözdizimi
Etiket adını break anahtar sözcüğünden sonra yazın: break outer;
Bu, Java'ya iç içe bir döngünün derinliklerinden bile outer adlı döngüden çıkmasını söyler.
İç ve dış döngülerin ikisi de hemen durur.
break outer; // exits the loop labeled 'outer'Etiketli break Uygulamada
Burada 3x3'lük bir ızgarada arama yapıyoruz. 2. satırda col 2'yi bulduğumuzda dış döngüden çıkıyoruz.
Yalın break'in aksine bu, her iki döngüyü aynı anda durdurur.
public class Main {
public static void main(String[] args) {
outer:
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (row == 2 && col == 2) {
System.out.println("Found at " + row + "," + col);
break outer;
}
}
}
System.out.println("Search over");
}
}Her Şeyin Neden Durduğu
Çıktı önce "2,2 konumunda bulundu", ardından "Arama tamamlandı" oldu.
break outer dediğimiz için her iki döngü de sona erdi. 3. satır hiç ziyaret edilmedi.
Yalın break yalnızca iç döngüden çıktıktan sonra 3. satıra devam ederdi.
İki break Kullanımını Karşılaştırma
Aynı ızgaraya bu kez yalın break ile bakın.
Yalnızca iç döngüden çıkar; bu nedenle dış döngü tüm satırlarda ilerlemeyi sürdürür.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (row == 2 && col == 2) {
break;
}
System.out.println(row + "," + col);
}
}
}
}İki Boyutlu Dizide Arama
Gerçek bir kullanım alanı, bir matrisin içinde hedef aramaktır.
Değer bulunduğunda etiketli break tüm aramayı temiz biçimde sonlandırır.
public class Main {
public static void main(String[] args) {
int[][] grid = {{1, 2}, {3, 9}, {5, 6}};
int target = 9;
search:
for (int r = 0; r < grid.length; r++) {
for (int c = 0; c < grid[r].length; c++) {
if (grid[r][c] == target) {
System.out.println("At row " + r + " col " + c);
break search;
}
}
}
}
}Etiket Bir Döngünün Üzerinde Olmalıdır
Bir etiket, adını verdiği döngünün hemen önünde bulunur. Çevreleyen bir döngüye ait olmayan bir etikete break uygulayamazsınız.
Kodun doğal okunması için outer, rows veya search gibi açık adlar seçin.
Niyetinizi gizleyen x: gibi belirsiz adlardan kaçının.
Üç Düzey Derinlik
Etiketler, üç veya daha fazla iç içe döngüyle de çalışır.
Burada koşul sağlandığında etiketli break, üç döngünün tamamından birden doğrudan çıkar.
public class Main {
public static void main(String[] args) {
done:
for (int a = 1; a <= 2; a++) {
for (int b = 1; b <= 2; b++) {
for (int c = 1; c <= 2; c++) {
if (a + b + c == 4) {
System.out.println(a + "," + b + "," + c);
break done;
}
}
}
}
}
}Etiketli break Ne Zaman Yararlıdır
Etiketli break, bir sonuç bulunur bulunmaz birkaç döngüyü terk etmeniz gerektiğinde çok işe yarar.
Her düzeyde kontrol edilen boolean found gibi ek bayrak değişkenlerine duyulan ihtiyacı ortadan kaldırır.
Tasarruflu kullanıldığında arama döngülerini kısa ve anlaşılır tutar.
Tasarruflu Kullanın
Güçlü olmasına rağmen çok fazla etiket kodun izlenmesini zorlaştırır.
Etiketli break'i çoğunlukla gerçek iç içe aramalarda kullanın. Basit döngülerde yalın break daha anlaşılırdır.
Okunabilirlik her zaman önceliklidir.
Hızlı Kontrol
Etiketli break'in iç içe döngülerde ne yaptığını belirleyin.
Özet
Bir etiket döngüyü adlandırır ve break label; bu adlandırılmış döngüden çıkarak onun içindeki tüm iç içe döngülerden de kurtulur.
Bu, iç içe bir aramanın tamamını aynı anda durdurmak için idealdir. Sırada etiketlerin continue ile nasıl çalıştığını göreceksiniz.
Yapay zeka eğitmeniyle Java öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 104
- Dersler
- 374
Sıkça Sorulan Sorular
“Etiketli break” dersi ücretsiz mi?
Evet — “Etiketli break” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Etiketli break” dersinde ne öğreneceğim?
Dış döngülerden düzgünce çıkın. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Etiketli break” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.