use*_*612 2 java pre-increment post-increment
我想知道为什么这段代码会给出输出112
最后一位数字2是如何创建的?
public static void main(String[] args) {
int i = 0;
System.out.print(++i);
System.out.print(i++);
System.out.print(i);
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
你的片段被翻译为
int i = 0;
i = i + 1; // 1
System.out.print(i); // 1
System.out.print(i); // 1
i = i + 1; // 2
System.out.print(i); // 2
Run Code Online (Sandbox Code Playgroud)
这就是为什么最终结果是 2。
++i它在被打印方法调用之前i++递增变量,并在方法执行后递增变量。
| 归档时间: |
|
| 查看次数: |
835 次 |
| 最近记录: |