Java中for循环中的增量,其中增量也在循环中增加
这里有一些问题似乎与我的相似,但它们在某些方面似乎都有所不同,所以我确实认为这个问题是独一无二的
我正在尝试LinkedIn Java技能评估中的问题。这个问题的正确答案是该语句将打印10次。但我不明白为什么这是正确的答案
代码如下:
public class Main{
public static void main(String[] args) {
for (int i=0; i<10; i=i++){
System.out.println("i first equals " + i);
i+=1;
System.out.println("i now equals " + i);
System.out.println("Hello World!");
}
}
}
我自己添加了前两个println语句,试图找出代码
我会认为每次循环运行时我都会递增,而且我也会在循环中递增。所以第一次循环运行时,i=0,然后在循环中i增加到1(i+=1),然后在第一次循环迭代结束时(或第二次循环开始时?)i增加到2(i=i++),然后在循环中i增加到3(i++=1),依此类推。但是,println语句显示以下内容:
i first equals 0
i now equals 1
Hello World!
i first equals 1
i now equals 2
Hello World!
i first equals 2
i now equals 3
Hello World!
等等。那么我在这里错过了什么?为什么循环内没有增量,循环本身也没有增量?当循环println语句说“i现在等于1”时,为什么值1不进入循环的递增器i=i++并将其设为2,这样下次在循环中println会说“i首先等于2”
# 1 楼答案
您的for循环与相同
在本例中,i在for循环中用
i+=1
op递增