Menu
Coddy logo textTech

無限ループ

CoddyのJavaジャーニー「基礎」セクションの一部。レッスン 49/73。

無限ループとは、条件が常に true と評価されるため、決して停止しないループです。このようなループは、どのループ型(forwhiledo-while)でも発生する可能性がありますが、条件が明示的に記述されるため、最も一般的に while ループや do-while ループに関連付けられます。

無限whileループの例を次に示します。

while (true) {
    System.out.println("This will print forever!");
}

この場合、条件は単にtrueであり、常にtrueと評価されます。したがって、ループは無期限に実行され、メッセージを何度も繰り返し出力します。

無限ループを作成するもう1つの方法は、forループで条件を省略することです:

for (;;) {
    System.out.println("This also prints forever!");
}

ここでは、forループの初期化、条件、更新の部分がすべて省略されています。これにより、永遠に実行されるループが作成されます。

無限ループは意図せず発生することもあります。たとえば、論理エラーによってループの条件が常に true になる場合です。

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // i をインクリメントする i++ が欠けている
}

この例では、変数 i は決してインクリメントされないため、条件 i < 10 は常に true です。これにより無限ループが発生し、「i is: 0」と無期限に出力し続けます。

無限ループは、手動で停止するまで実行し続ける必要があるサーバープログラムなど、場合によっては便利です。ただし、適切に処理しないと、プログラムがフリーズしたりクラッシュしたりする原因にもなります。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ