gpt4 book ai didi

java - 循环中增加变量,意外结果

转载 作者:行者123 更新时间:2023-11-30 05:58:32 25 4
gpt4 key购买 nike

代码片段:

int i=0;

for(int i=0;i<1;i++){
i=--i-i--;
System.out.println("for loop i= "+i);
}
System.out.println("i value outside for loop= "+i);

输出:

for loop i= 0
i value outside for loop= 1

for循环内i的值为0,for循环外i为1。你能帮我理解一下吗?

最佳答案

i=--i-i--;i 的值更改为 -1,然后返回 0 code>,因为它分配给它 -1-(-1),即 0。产生此结果的原因是预减运算符 - --i - 返回减后值 -1,而后减运算符 - i-- code> - 返回递减之前的值(因此它返回 -1 而不是 -2)。

但是,循环的 i++ 子句将 i 增加到 1,这会导致循环终止。因此循环后i的值为1

请注意,您的问题中有一个拼写错误。您在同一范围内声明了两次 i 。为了使代码通过编译(并显示您声称获得的输出),您应该将其更改为:

int i=0;

for (i = 0; i < 1; i++) {
i = --i-i--;
System.out.println("for loop i= "+i);
}
System.out.println("i value outside for loop= "+i);

关于java - 循环中增加变量,意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52696664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com