Java'da döngüden break komutu ile çıkılabilir:
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
if(i==5) {
break;
}
}
}
Yukarıdaki örnekte 1'den 5'e kadar sayılar ekrana basılırken, 5'den sonra döngüden çıkılmasından dolayı 6 ve sonraki sayılar basılmayacaktır. Uygulama çıktısı aşağıdaki gibi gözükecektir:
0
1
2
3
4
5
Bu tür break ifadelerine unlabeled break (etiketsiz kesme) adı verilir. Diğer bir yöntemde döngüye etilket vererek o döngüden çıkılmasını sağlayan labeled break (etiketli kesme) kullanmaktır. Yukarıdaki örneği bu şekilde yapalım:
public static void main(String[] args) {
labelTest:
for (int i = 0; i < 10; i++) {
System.out.println(i);
if(i==5) {
break labelTest;
}
}
}
Dönügünün başına labelTest adlı bir etiket ekliyoruz. break labelTest; komutu ile döngüden çıkıyor.
Etiketli kesmenin kullanılmasının en önemli yararı iç içe döngülerde görülür. Etiketsiz kesmede break; ifadesi iç döngüdeyse sadece o döngüden çıkar. Üst döngüden çıkmaz. Aşağıdaki örnek incelenebilir:
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
System.out.println(i);
for(int j = 0; j < 10; j++) {
System.out.println(" "+j);
if(j==5) {
break;
}
}
}
}
Bu örnekte i==5 olunca döngüden çıkılır. Ancak dış döngüden çıkılmaz ve döngü devam eder. j=5 olunca iç döngüden çıkar ama dış döngü devam eder. Çıktı aşağıdaki gibi olur:
0
0
1
2
3
4
5
1
0
1
2
3
4
5
2
0
1
2
3
4
5
İkinci döngüde j 5 olduğu zaman üstteki döngüden de çıkmak için aşağıdaki gibi etiketli kesme kullanabiliriz:
public static void main(String[] args) {
labelTest:
for (int i = 0; i < 3; i++) {
System.out.println(i);
for(int j = 0; j < 10; j++) {
System.out.println(" "+j);
if(j==5) {
break labelTest;
}
}
}
}
bu şekilde uygulama aşağıdaki gibi çıktı alınır:
0
0
1
2
3
4
5