java - 为什么这会给我这个输出?
问题描述
public static void main(String[] args) {
int n=0, m=0, i=0,maxI=300;
while(i++<maxI) n++;
i=0;
while(++i<maxI) m++;
System.out.print(n+","+m+","+i)
}
这段代码的结果,当我打印出 nm,i 时,是 300、299、300。发生了什么?我似乎无法弄清楚它是如何得出结果的。我期望只有 i 在第 2 行增加。这让我头疼
解决方案
为什么'i'不应该在第 4 行增加?它是后增量,但它仍然是增量。
推荐阅读
- typescript - 如何要求参数是严格扩展部分的泛型
- json - 从 JSON 中提取后,完成数据不附加全局数组(swift 4)
- github - 允许任何人在未经事先授权的情况下对 Github 存储库做出贡献
- r - 检查向量的元素是否等于 R 中另一个向量 +/- 1 的元素
- angular - @Component+router-outlet 是在 Angular 7 中拥有可重用模板的唯一方法吗?
- forms - Xamarin Forms 用户控件:复合控件中的 Forward Entry.Behaviors 依赖属性
- python - 如何在 Python 中分配之前修复引用
- android - Android:SharedPreferences 数据生命周期
- codenameone - 代号一 - 按下时添加带有代码的 UIID
- c# - .Net Core 2.1 不读取用户机密