は、私は、javaに新しい、私はループを練習するためのコードを書いていて、ここにある:この無限ループの背後にある理由は何ですか?
public class scratch {
public static void main(String args[]) {
int value = 0;
boolean myBoolean = (value < 5);
while(myBoolean) {
System.out.println(value);
value = value + 1;
}
}
}
私はそれを実行すると、私は無限ループを得るが、私のような「しばらく」引数を変更した場合この:
public class scratch {
public static void main(String args[]) {
int value = 0;
boolean myBoolean = (value < 5);
while(value < 5) {
System.out.println(value);
value = value + 1;
}
}
}
それが動作し、ここに出力されます:
0
1
2
3
4
あなたは私がここに欠けているものを私に教えてくださいすることができ、ありがとうございました!
この小さな実験では、ブール変数getが一度評価され、それがどのように初期化されたかは気にしません(つまり、値が変更されたときに更新されません)。それについては何が分かりませんか? – Tom
最初のケースでは、 'myBoolean'の値は' value'を変更しても変更されません。それは第二のケースではどちらかではありませんが、それは重要ではありません。 –
ブール値= 0 <5常に – SaggingRufus