繁体   English   中英

初学java for-loop

[英]Beginner java for-loop

这段代码:

for(int i=5; i<50; i=i*2){ 
} 

为什么它循环4次而不是3次? 我认为它做了5x2 = 10,然后10 x 2 = 20,然后20 x 2 = 40,并且因为40 x 2大于50而停在那里。

打印数字:

for (int i = 5; i < 50; i = i * 2) {
    System.out.println(i);
}

输出:

5
10
20
40

因此,当i == 5时,您缺少第一次迭代。

顺便提及, i = i * 2可以写为i *= 2

第一次执行使用i的指定值。 它只在执行后迭代。 所以它会在你列出的三次之前运行一次。

在第一次迭代中, i5

它第二次循环, i10

第三次i20。

在第三次迭代后, i 40岁 i过了50岁了吗? 没有。

在第四次迭代后, i80 ,然后我们退出循环。

这使得4次迭代。

好吧,开始:

if i < 50 --> do a iteration

i=5 - >小于50 - >第一次循环;

现在增量i - > i = i*2 - > i = 5*2 = 10

i=10 - >小于50 - >第二次循环;

现在增量i - > i = i*2 - > i = 10*2 = 20

i=20 - >小于50 - >第三循环;

现在增量i - > i = i*2 - > i = 20*2 = 40

i=40 - >小于50 - >第四循环;

现在增量i - > i = i*2 - > i = 40*2 = 80

i=80 - >大于50 - >停止

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM