Infinite Loop
Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası — ders 49 / 73.
Sonsuz döngü, koşulunun her zaman true olarak değerlendirildiği için hiç durmayan bir döngüdür. Bu döngüler herhangi bir döngü türünde (for, while, do-while) oluşabilir, ancak koşullarının açıkça belirtilmesi nedeniyle en çok while ve do-while döngüleriyle ilişkilendirilir.
İşte sonsuz bir while döngüsü örneği:
while (true) {
System.out.println("This will print forever!");
}Bu durumda koşul basitçe true'dur, ki bu her zaman true'ya değerlendirilir. Dolayısıyla, döngü süresiz olarak çalışacak ve mesajı tekrar tekrar yazdıracaktır.
Sonsuz döngü oluşturmanın bir başka yolu, bir for döngüsünde koşulu atlamaktır:
for (;;) {
System.out.println("This also prints forever!");
}Burada, for döngüsünün başlatma, koşul ve güncelleme kısımları tamamen atlanmıştır. Bu, sonsuza kadar çalışan bir döngü oluşturur.
Sonsuz döngüler ayrıca istemeden de oluşabilir, örneğin döngünün koşulu bir mantık hatası nedeniyle her zaman true olduğunda:
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// Missing i++ to increment i
}Bu örnekte, i değişkeni hiç artırılmadığı için i < 10 koşulu her zaman true olur. Bu, "i is: 0" yazdırmaya sonsuza dek devam eden sonsuz bir döngü oluşturur.
Sonsuz döngüler bazı durumlarda faydalı olabilir, örneğin sunucu programlarında manuel olarak durdurulana kadar çalışmaya devam etmesi gereken durumlarda. Ancak, düzgün şekilde ele alınmazsa programların donmasına veya çökmesine neden olabilirler.
Kopya kağıdı
Sonsuz döngü, koşulunun her zaman true olarak değerlendirildiği için hiç durmayan bir döngüdür.
Kasıtlı sonsuz while döngüsü:
while (true) {
System.out.println("This will print forever!");
}Kasıtlı sonsuz for döngüsü (tüm kısımlar atlanarak):
for (;;) {
System.out.println("This also prints forever!");
}Kasıtsız sonsuz döngü (arttırma eksik):
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// i'yi artırmak için i++ eksik
}Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else