【发布时间】:2021-04-06 00:28:15
【问题描述】:
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)
}
这段代码的结果,当我打印出 n.m,i 时,是 300、299、300。 发生了什么?我似乎无法弄清楚它是如何得出结果的。 我原以为只有 i 在第 2 行增加了。这让我很头疼
【问题讨论】:
-
两件事:发布Minimal Reproducible Example(至少发布有效代码),并解释您希望看到的具体内容和原因。
-
我不完全确定你在问什么。你的意思是你只希望 i 在第一个 while 循环中增加?如果是这样,你的退出条件是什么?
-
我是新来的,真的不明白这个地方是如何运作的。我是java编程的新手。我在用作学习指南的 pdf 中遇到了代码,但我似乎无法理解为什么代码输出是这样的。我可以理解 i 小于 maxI 的增量,但是另一行代码让我很头疼
-
我会很感激解释这行代码的工作原理和方式。谢谢
标签: java