【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に負担をかけるのはよろしくないと思います。
コメント
まだコメントはありません。