public class Main {
public static void main(String[] args) {
int m = 7, n = 1;
do {
if (m-- < ++n) {
break;
}
} while (m > 4);
System.out.println("m = " + m + " n = " + n);
}
}
为什么都是4和4,ai说是4和5,但是编译器编译出来时4和4,这是ai说的 :
初始化 m = 7 和 n = 1。
进入 do-while 循环:
第一次循环:if (m-- < ++n),m-- 为 7(后减),++n 为 2。条件不满足,继续循环。
第二次循环:m 变为 6,n 变为 3。条件不满足,继续循环。
第三次循环:m 变为 5,n 变为 4。条件不满足,继续循环。
第四次循环:m 变为 4,n 变为 5。条件满足,跳出循环。
最终,m = 4,n = 5,输出结果为 m = 4 n = 5。