package anotherLoop;
public class anotherLoop {
public static void main(String[] args) {
int a=2;
for (a=2; a<=8; a =2) {
System.out.print(a ",");
}
System.out.print("a is now " a);
}
}
這段代碼給出:2,4,6,8,a 現在是 10。我的問題是,當我在回圈外寫時,變數 a 再次更新。為什么會發生這種情況,我該如何避免?
uj5u.com熱心網友回復:
如果問題是為什么a的最終值為10,那么答案是因為在回圈中的所有指令之后,在迭代結束時正在執行增量運算式( a = 2 ),并且終止運算式(由條件表示a <= 8 ) 在每次迭代開始時和執行回圈中的任何指令之前。
因此在最后一次迭代中,a 被更新為 10,終止運算式被評估為 false,并且控制中斷回圈。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
uj5u.com熱心網友回復:
也許您可以將解碼代碼更改為:
package anotherLoop;
public class anotherLoop {
public static void main(String[] args) {
int a=0;
while (a < 8) {
a=a 2;
System.out.print(a ",");
}
System.out.print("a is now " a);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/413718.html
標籤:
