スポンサードリンク

【Java】無限ループとは?

繰り返し処理を行うfor構文やwhile構文で条件式の設定等にミスがあった場合、無限ループになる場合があります。

ここでは無限ループについて説明します。

1.無限ループとは?

for構文やwhile構文は、条件式においてtrueであれば処理をし続け、falseになったときに繰り返し処理を終了します。

言い換えると、falseにならなければずっと処理を続けます。この処理が永遠に続く場合、これを無限ループといいます。

2.無限ループを止める場合

もし万が一プログラミング中に無限ループとなった場合は、「Ctrlキー + c」を押せば処理が止まります。

初めて無限ループになった瞬間はとても焦りますが、パソコンが壊れたりはしないので、冷静に「Ctrlキー + c」を行えば大丈夫です。

3.無限ループの原因

1.for構文に条件式がない場合

下記プログラムのように、for構文に条件式がない場合、無限ループとなります。

for(int i=0; ; i++){
System.out.println(i);
}

2.条件式がfalseにならない場合

カウント用変数の初期値や条件式、ループ処理の書き方に問題がある場合、無限ループになる可能性があります(このパターンが一番多いかと思います)。

for(int i=0; i<5; i--){
System.out.println(i);
}

このプログラムは、初期値が0、条件式がi<5にもかかわらず、ループ処理でデクリメント「i--」(iをマイナス1する)となっているので、永久にfalseとなりません。

また下記のプログラムは、ループ処理がないので、永久にfalseとなりません(変数iの値はずっと0のまま)。

int i = 0
while(i<5){
System.out.println(i);
}

人間はどうしてもミスをしてしまう生き物ですが、繰り返し処理を扱うときはいつも以上に慎重にコードを書いてください。

パソコンが壊れることはないと思いますが、CPUに負担をかけるのはよろしくないと思います。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント