[英]Java do while loop increment
int i = 10;
int j = 0;
do {
j++;
System.out.println("loop:" + j);
while (i++ < 15) { //line6
i = i + 20;
System.out.println(i);
} ;
} while (i < 2);
System.out.println("i_final:" + i);
输出:
loop:1
31
i_final:32
为什么i_final
是32
而不是31
? 我们可以看到do_while
循环只执行了一次,所以第 8 行也应该只执行一次,因此将“i”的值增加 1。 31
什么时候增加到32
?
While 循环将在中断前执行两次。
while (i++ < 15) { //line6
i = i + 20;
System.out.println(i);
} ;
首先它增加到 11 。
检查 15。返回 true。
现在它增加到 31。 ( i = i + 20
)
现在再次 while 循环。
它增加了价值。
第一次检查 while 循环条件时 i=11,之后 i 增加 20,所以 i=31。 然后当再次检查条件时,当发现 31 < 15 为假时,i 仍然增加 1。所以 i =32
当您执行 while 循环为 (i++ < 15) 时,它会检查条件并在 i++ 为 < 15 时停止循环,但是在这里,当您执行 do while 循环 j++ 时,循环会进行 2 次,当涉及到 while ( i++ < 15) 它将 i 的值增加 1 并停止...所以在第二个循环中 i 的值增加 1 但 while 循环中的函数保持不变,当 i++ 大于 15 时它停止
如果您执行以下操作,您将获得 31
int i = 10;
int j = 0;
do {
j++;
System.out.println("loop:" + j);
while (i < 15) { //line6
i++
i = i + 20;
System.out.println(i);
} ;
} while (i < 2);
System.out.println("i_final:" + i);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.