Bu anahtar kelimeyi ilk kez gördüm ve birisinin bana ne yaptığını açıklayabileceğini merak ediyordum.
- Nedir
continue
kelime? - O nasıl çalışır?
- Ne zaman kullanılır?
Bu anahtar kelimeyi ilk kez gördüm ve birisinin bana ne yaptığını açıklayabileceğini merak ediyordum.
continue
kelime?Yanıtlar:
Bir continue
bir etiket olmadan deyimi koşulu içteki dan yeniden çalıştırır while
veya do
döngü ve en içteki güncelleme ifadeden for
döngü. Genellikle bir döngünün işlenmesini erken sonlandırmak ve böylece derin iç içe if
ifadelerden kaçınmak için kullanılır . Aşağıdaki örnekte continue
, döngüde aşağıdaki ifadeyi işlemeden bir sonraki satır elde edilecektir.
while (getNext(line)) {
if (line.isEmpty() || line.isComment())
continue;
// More code here
}
Bir etiketle, continue
en içteki döngü yerine karşılık gelen etiketle döngüden yeniden yürütülür. Bu, derin yuvalanmış döngülerden kaçmak için ya da sadece netlik için kullanılabilir.
Bazen continue
boş bir döngü gövdesini daha net hale getirmek için yer tutucu olarak da kullanılır.
for (count = 0; foo.moreData(); count++)
continue;
Etiketi olmayan aynı ifade C ve C ++ 'da da mevcuttur. Perl'deki karşılığı next
.
Bu tür bir kontrol akışı önerilmemektedir, ancak bunu seçerseniz continue
sınırlı bir biçimini simüle etmek için de kullanabilirsiniz goto
. Aşağıdaki örnekte continue
, boş for (;;)
döngü yeniden yürütülecektir .
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;
continue
biraz benziyor goto
. Aşina mısın break
? Aksine onları düşünmek daha kolaydır:
break
döngüyü sonlandırır (altındaki koda atlar).
continue
geçerli yineleme için döngü içindeki kodun geri kalanını sonlandırır, ancak döngüye devam eder.
Bir döngünün gövdesini altyordam olarak düşünüyorsanız, continue
bir çeşit gibidir return
. Aynı anahtar kelime C'de bulunur ve aynı amaca hizmet eder. İşte örnek bir örnek:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
Bu yalnızca tek sayıları yazdırır.
Genellikle, bkz continue
(ve break
kod bir uyarı olarak) olabilir , özellikle bazı üstlenmeden kullanmak while
veya for
döngü beyan görünürde hemen değil. Aynı şey return
, bir yöntemin ortasında da geçerlidir , ancak biraz farklı bir nedenden dolayı.
Diğerlerinin söylediği gibi, continue
döngüden sonraki yinelemeye giderken break
, kapalı döngüden dışarı çıkar.
Bunlar bakım timebombs olabilir çünkü continue
/ break
ve devam ettiği / koptuğu döngü arasında bağlam dışında anında bir bağlantı yoktur ; bir iç döngü ekleyin veya döngünün "cesaretlerini" ayrı bir yönteme taşıyın ve continue
/ break
fail üzerinde gizli bir etkiye sahipsiniz .
IMHO, en son çare ölçüsü olarak kullanmak ve daha sonra kullanımlarının döngünün başında veya sonunda sıkı bir şekilde gruplandığından emin olmak için en iyisidir, böylece bir sonraki geliştirici döngüdeki "sınırları" bir ekranda görebilir .
continue
,, break
ve return
(yönteminizin sonundaki Tek Gerçek Dönüş dışında) genel "gizli GOTO'lar" kategorisine girer. Döngü ve işlev kontrolünü beklenmedik yerlere yerleştirirler, bu da sonunda hatalara neden olur.
Java'da "devam et", geçerli döngünün sonuna gitmek anlamına gelir, şu anlama gelir: derleyici bir döngüde devam ederse bir sonraki yinelemeye gider
Örnek: Bu, 1'den 10'a kadar tek sayıları yazdırmak için kullanılan bir koddur
derleyici bir sonraki yinelemeye geçmeye devam ettiğinde baskı kodunu yok sayar
for (int i = 0; i < 10; i++) {
if (i%2 == 0) continue;
System.out.println(i+"");
}
Daha önce de belirtildiği gibi continue
, altındaki kodu ve döngünün sonuna kadar işlemeyi atlayacaktır. Daha sonra, döngünün durumuna taşınır ve bu koşul hala geçerliyse (veya bir işaret varsa, belirtilen döngünün durumuna) sonraki yinelemeyi çalıştırırsınız.
Vurgulanması gerekir ki, durumda do - while
a'nın arkasından continue
değil , alttan başlayarak koşula başında değil.
Bu yüzden birçok insan aşağıdaki kodun ne üreteceğini doğru bir şekilde cevaplayamıyor.
Random r = new Random();
Set<Integer> aSet= new HashSet<Integer>();
int anInt;
do {
anInt = r.nextInt(10);
if (anInt % 2 == 0)
continue;
System.out.println(anInt);
} while (aSet.add(anInt));
System.out.println(aSet);
* Cevabınız aSet
sadece% 100 tek sayıları içeriyorsa ... yanılıyorsunuz!
Devam , Java'daki bir anahtar kelimedir ve geçerli yinelemeyi atlamak için kullanılır.
1 ile 100 arasındaki tüm tek sayıları yazdırmak istediğinizi varsayalım
public class Main {
public static void main(String args[]) {
//Program to print all odd numbers from 1 to 100
for(int i=1 ; i<=100 ; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
Devam Yukarıdaki programda açıklama basitçe yinelemeyi atlar i bile olup değerini yazdırır i garip olduğunda.
Continue deyimi, döngü içinde kalan deyimleri çalıştırmadan sizi döngüden çıkarır ve sonraki yinelemeyi tetikler.
Başka bir Durum koşulunu düşünün. Devam ifadesi, bir koşulda olanı yürütür ve koşuldan çıkar, yani bir sonraki yinelemeye veya koşula atlar. Ancak bir Mola döngüden çıkar. Aşağıdaki Programı düşünün. '
public class ContinueBreak {
public static void main(String[] args) {
String[] table={"aa","bb","cc","dd"};
for(String ss:table){
if("bb".equals(ss)){
continue;
}
System.out.println(ss);
if("cc".equals(ss)){
break;
}
}
System.out.println("Out of the loop.");
}
}
Yazdırılacak: aa cc Döngü dışında.
Eğer devam etmek yerine mola kullanırsanız (Sonra ise), aa'yı yazdırır ve döngüden çıkarır .
"Bb" koşulu ss'ye eşitse: Devam için: Sonraki yinelemeye gider, yani "cc" .equals (ss). Break için: Döngüden çıkar ve "Döngüden" yazdırır.
break
Partiye biraz geç kaldım ama ...
continue
Döngüyü kontrol eden koşullu ifadede tüm işlerin yapıldığı boş döngüler için yararlı olduğunu belirtmek gerekir . Örneğin:
while ((buffer[i++] = readChar()) >= 0)
continue;
Bu durumda, bir karakteri okuma ve ekleme buffer
işlemi, while
döngüyü kontrol eden ifadede yapılır . continue
Deyimi döngü bir bedene ihtiyacı olmadığını görsel göstergesi olarak hizmet vermektedir.
Eşdeğerden biraz daha açık:
while (...)
{ }
ve kesinlikle aşağıdaki gibi boş bir ifade kullanmaktan daha iyi (ve daha güvenli) kodlama stili:
while (...)
;
while
da while
cümlenin gövdesi haline geldikten sonraki bir sonraki ifadeyi yapar ve görsel olarak açık olmaz. Müstehcen bir continue
şey açıktır ve boş bir ifadenin yapmadığı bir niyeti ifade eder.
Temelde java'da devam ifadesidir. Dolayısıyla, devam ifadesi normalde geçerli yinelemeyi atlamak için döngülerle birlikte kullanılır.
Java'da nasıl ve ne zaman kullanıldığını öğrenmek için aşağıdaki bağlantıya bakın. Örnekle açıklaması var.
https://www.flowerbrackets.com/continue-java-example/
Umarım yardımcı olur !!
continue
bir döngü içinde olmalıdır Aksi takdirde aşağıdaki hatayı gösterir:
Döngü dışında devam et
Devam ifadesi, döngünün bir sonraki yinelemesine hemen atlamanız gerektiğinde döngü kontrol yapısında kullanılır.
Döngü için veya while döngüsü için kullanılabilir. Java devam ifadesi döngüye devam etmek için kullanılır. Programın geçerli akışına devam eder ve kalan kodu belirtilen koşulda atlar.
Bir iç döngü durumunda, sadece iç döngüye devam eder.
Java continue ifadesini for döngüsü, while döngüsü ve do-while döngüsü gibi tüm döngü türlerinde kullanabiliriz.
Örneğin
class Example{
public static void main(String args[]){
System.out.println("Start");
for(int i=0; i<10; i++){
if(i==5){continue;}
System.out.println("i : "+i);
}
System.out.println("End.");
}
}
çıktı:
Start
i : 0
i : 1
i : 2
i : 3
i : 4
i : 6
i : 7
i : 8
i : 9
End.
[5 sayısı atlanıyor]