Java 我不明白这个for循环是如何工作的 for(int i=0;i2 i->1->4 直到 i->7->10
为什么初始值-1以及它是如何增加该值的?因为您有--i,如果您有i--第一个输出将是0 --我将从答案中删除一个,因为我将在答案中添加一个 所以,无论循环构造的是什么输出,都会从最终输出中减去1,因为--iJava 我不明白这个for循环是如何工作的 for(int i=0;i2 i->1->4 直到 i->7->10,java,for-loop,increment,Java,For Loop,Increment,为什么初始值-1以及它是如何增加该值的?因为您有--i,如果您有i--第一个输出将是0 --我将从答案中删除一个,因为我将在答案中添加一个 所以,无论循环构造的是什么输出,都会从最终输出中减去1,因为--i 如果你有i-,它仍然会从最终答案中扣除一个,但在循环结束之前,它会扣除1。在你显示的println中-,i-递减i的值。从循环中的i=0开始 当你减少0,你得到-1 for循环本身在每次迭代中将i+=3添加到i中。--i意味着在使用它之前从i中减去1。如果你把i--放进去,那就意味着取i的值
如果你有i-,它仍然会从最终答案中扣除一个,但在循环结束之前,它会扣除1。在你显示的println中-,i-递减i的值。从循环中的i=0开始 当你减少0,你得到-1 for循环本身在每次迭代中将i+=3添加到i中。
--i
意味着在使用它之前从i
中减去1。如果你把i--
放进去,那就意味着取i
的值,然后用它减去1
在每个循环中,您要加3,但在使用该值之前要减去1。换句话说,你实际上只是在加2。您正在使用的i
的值是:-1,1,3,5,7
,这有点混乱
编辑:只是为了添加,它确实会在该点停止,因为下一次通过循环时,您将有7+3
,其中=10
和10!<20-10
所以它不能进行迭代。--i是预减量运算符。首先递减i中的值,然后访问它进行打印,因此值为-1
是后减量运算符。首先访问i中的值,然后递减值,因此值将为0您的循环变量在for语句和主体中都被修改。首先计算表达式
--i
,得到-1。然后for语句通过添加3对其进行修改。下次通过循环时,它应该在打印前再减去1,以此类推。--i首先递减i的值,然后-1作为第一个值打印。在每个循环结束时,i增加3
然后我以i->-1->2
i->1->4
直到
i->7->10在for循环中,首先有一个赋值-在本例中
i=0代码>-这是i的起始值
下一部分是条件-此处i<20-i
-在进入循环之前,将在循环的每个步骤中检查该条件。
第三部分的条件是-i+=3
,这将在每次迭代中将i增加3
所以。。
现在你有了i=0
开始,i<20-i
是true
,所以它进入了循环,
执行语句System.out.println(-i)代码>
这是预减量运算符,因此它将i减量1,然后将其打印。
只要条件i<20-i
为true
--i为预减量运算符,则重复此操作。它首先将i中的值减小为1,然后将其打印,
因此,如果i的值当前为0,则该值将减少1,这意味着i==i-1
然后打印它i=-1
否,问题是为什么它本身是-1?当我手工操作时,我无法获取值。因为在第一个循环中i=0。当它试图输出时,你会说--i,所以答案是0-1=-1。直到循环的第二次循环,它才会增加+=3
for (int i = 0; i < 20-i; i+=3) {
System.out.println(--i);
}