Döngüler (kes ve geri dön, devam et, etiketler) - 1

"Merhaba, Amigo!"

"Bugün size döngülerle çalışırken kullanışlı olan bazı şeylerden bahsedeceğim."

"Birincisi break anahtar sözcüğüdür. Bu komutu bir döngünün gövdesinde kullanırsanız, komut çalıştırıldığında döngü hemen sonlandırılır. İşte bir örnek:"

Örnek Çıktı:
for (int i = 0; i < 10; i++)
{
System.out.println(i);
if (i > 5)
break;
}
0
1
2
3
4
5

"Break yalnızca bir döngüde kullanılabilir mi?"

"Evet. Break deyimi yalnızca bir döngüde kullanılabilir. Bir break deyimi yürütüldüğünde, döngü hemen sona erer."

"Tamam anladım."

"Harika. Şimdi paylaşmak istediğim ikinci şey, devam anahtar kelimesi. Ayrıca sadece bir döngüde kullanılabilir. Bu komut çalıştırıldığında, döngünün yeni bir yinelemesi hemen başlar. Diğer bir deyişle, döngüde kalan herhangi bir kod döngünün gövdesi basitçe atlanır."

"İşte bir örnek:"

Örnek Çıktı:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
continue;
System.out.println(i);
}
1
3
5
7
9

"Yani, program bir döngüde devam komutuna ulaştığında, döngüdeki kodu yürütmeyi durduruyor mu?"

"Hayır. Bakın aynı kodu birkaç kez çalıştırdığımızda bir döngümüz oluyor. Yukarıdaki örnekte 0'dan 9'a kadar bir döngümüz var yani döngünün gövdesi 10 kez çalışacak. Değil mi?"

"Evet."

"Döngünün gövdesinden bir geçişe yineleme denir. Döngümüz 10 yinelemeden oluşur—döngünün gövdesi on kez yürütülür."

"Evet, bu açık."

" Devam komutu mevcut yinelemeyi zamanından önce sonlandırır, yani döngü içinde kalan herhangi bir kod atlanır ve yeni bir yineleme başlar."

"İşte başka bir örnek:"

Örnek
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}

"Bu örnekte, listedeki tüm nesnelerin dize temsilini gösteriyoruz. Ancak boş olan nesneleri atlıyoruz."

"Tamam, anladım. Bunun ne kadar uygun olduğunu görebiliyorum."

"Evet. Size etiketlerden de bahsetmek istiyorum. Java'da nadiren kullanılırlar, çünkü çoğu zaman bir programın mantığının güzelliğini bozarlar. oyun alanında onlar hakkında bir şey duyduğundan daha fazla."

"Bir zamanlar koddaki herhangi bir satırdan herhangi bir satıra atlamaya izin veriliyordu. Bunu etiketleri ve goto deyimini kullanarak yaptık. İşte böyle görünüyor:"

Etiketlerle korkunç kod
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;

"Bu örnekte, etikete git komutu yürütüldükten sonra, program etiketle işaretlenmiş satıra atlar .

"Daha sonra herkes akıllandı ve goto deyimini kullanmamaya karar verdi. Java, goto'yu desteklemiyor, ama goto ayrılmış bir kelime. Önemli değil..."

"Yani, Java'da geçiş ve etiket yok mu?"

"Goto ifadesi yok, ancak etiketler var!"

"Nasıl olabilir?"

"Java'da etiketler, devam et ve ara komutlarıyla birlikte kullanılabilir. Çok sayıda iç içe geçmiş döngünüz olduğunda kullanılırlar."

"Örneğin, iç içe geçmiş 5 döngünüz olduğunu ve bazı koşullar karşılandığında hepsinden değil, üçünden çıkmak istediğinizi varsayalım. Etiketler bunu yapmanın zarif bir yoludur:"

Örnek
label1: for (int i = 0; i < 10; i++)
 label2: for (int j = 0; j < 10; j++)
  label3: for (int k =0; k < 10; k++)
   if (i == j && j == k)
    break label2;

"Bu örnekte, break deyimi yürütüldüğünde, k değişkenli döngüden değil, etiket2 etiketli döngüden çıkıyoruz - yani k ve j ile iki döngüden hemen çıkıyoruz."

"Bu ne sıklıkla kullanılıyor?"

"Dürüst olmak gerekirse, sık değil ama asla bilemezsin. Belki bir ara görürsün. Bunlar sözdizimi temelleridir - tüm bunları bilmen gerekir!"

"Tamam. Teşekkürler, Bilaabo."