"Merhaba, Amigo!
"Merhaba Ellie."
"Zaten döngüler üzerinde çalıştınız ve bu harika."
"Katılıyorum! Artık onlarsız nasıl yaşayacağımı kesinlikle bilmiyorum."
"Bazen onlarsız da yapabilirsin... Ama daha çok onlara ihtiyacın olacak. Bugün, bir döngüden programın ilerisinde çıkman gereken bir durum hakkında konuşacağız."
"Döngüye devam etme koşulunun doğru olmasına rağmen yine de döngüden çıkmanız gerektiğini mi kastediyorsunuz?"
"Kesinlikle! Bazen zaten bir programcıymışsınız gibi konuşuyorsunuz. Her neyse, bir döngüden planlanandan önce çıkmak için break deyimini kullanabilirsiniz . Aşağıdaki örneğe bir göz atın:
kod | Açıklama |
---|---|
|
Siz girene kadar program klavyeden bir satır okuyacaktır "exit" . |
"Anlıyorum. Program konsoldan satırlar okuyor. Eğer girerseniz "exit"
, o zaman isExit
değişken olur true
, döngü koşulu olur ve döngü sona erer."!isExit
false
"Doğru. Java'nın break
bu mantığı basitleştirmenizi sağlayan özel bir ifadesi var. break
Bir döngü içinde bir ifade yürütülürse, döngü hemen sona erer. Program, döngüyü takip eden ifadeyi yürütmeye başlar. İfade çok kısadır. :
break;
break
" Az önce tartıştığımız örneği yeniden yazmak için ifadeyi şu şekilde kullanabilirsiniz :
kod | Açıklama |
---|---|
|
Siz girene kadar program klavyeden bir satır okuyacaktır "exit" . |
"Belki bunu hatırlarım. İşime yarayacağını hissediyorum."
"Ama break
bir döngünün davranışını kontrol etmenize izin veren tek Java ifadesi değil. Java'da da bu continue
ifade var. Bir döngü içinde bir ifade yürütürseniz continue
, döngünün geçerli yinelemesi planlanandan önce sona erer."
"Yineleme derken neyi kastediyorsun?"
"Döngü yinelemesi, döngü gövdesinin bir yürütmesidir. continue
İfade, döngünün geçerli yinelemesini kesintiye uğratır, ancak break
ifadenin aksine, döngünün kendisini sonlandırmaz. İfade ayrıca kısadır:
continue;
"Öyleyse, continue
döngünün belirli yinelemelerinin yürütülmesini 'atlamak' istiyorsak, ifade bir döngüde kullanılabilir mi?"
break
"Kesinlikle. ve arasındaki farkı anladınız mı continue
? Tekrar etmeyen 20 basamaktan yedisini bulmanız gerekirse, ne tür bir döngü ve döngü kesme ifadesi kullanırsınız?
"Hmm... Tüm sayıları gözden geçirirdim ve eğer 7'yi bulursam, o zaman bir break
."
1
" ile 20
bölünebilen sayılar dışında, ile arasındaki sayıları görüntülemeniz gerekirse ne olur 7
?"
"Eh, döngüden çıkmak istemediğim için muhtemelen burada ihtiyacım var continue
. Ama yine de tam olarak anlamıyorum."
"Size bu sorunu nasıl çözeceğinizi göstereyim. Bu kod böyle görünebilir."
kod | Açıklama |
---|---|
|
Program, 1 ile arasındaki sayıları görüntüler 20 . Sayı ile bölünebilirse 7 (kalan ile bölme işlemi 7 ) 0 , o zaman sayıyı göstermeyi atlarız. |
"Bana neden bu kadar şüpheyle bakıyorsun Ellie? Burada bir püf noktası mı var?"
"Aldanamazsın Amigo! Gerçekten de bu kod düzgün çalışmayacak . İlk 6 haneyi gösterecek ve sonra i
sonsuza kadar sayının üzerinde takılıp kalacak 7
. Ne de olsa, continue
ifade diğer iki ifadeyi atlıyor: System.out.println(i)
ve i++
. As sonuç olarak, değerine ulaştığımızda 7
, değişken i
değişmeyi durduracak ve sonsuz bir döngüye gireceğiz. Kodu, çok yaygın bir hatayı göstermek için bilerek bu şekilde yazdım."
"Bunu nasıl düzeltiriz?"
"Burada iki seçenek var:"
Seçenek 1:i
yürütmeden önce continue
, ancak sonra değiştirini % 7
Seçenek 2:i
her zaman döngünün başında artırın . Ancak o zaman i
başlangıç değeri olmalıdır 0
.
seçenek 1 | seçenek 2 |
---|---|
|
|
"Mükemmel! Bu hatayı yapmamaya çalışacağım."
"Sözünü hatırlayacağım!"
GO TO FULL VERSION