这是一个非常简单的for循环,我在Schildt的Java教程中遇到过。我一直在研究它已经有一段时间了,我仍然不确定它是如何返回值15.特别是我无法弄清楚“sum”变量在语句的迭代中扮演的角色。对此的一个很好的解释将极大地帮助我继续学习java。本书的作者简单地将其作为一个例子,说明如何使用没有正文的循环,没有解释“sum”值以及如何迭代它。
以下是声明:
for(i = 1; i <= 5; sum += i++)
System.out.println("Sum is " + sum);
我们如何在本声明中将变量sum解释为最终值为15?
答案 0 :(得分:0)
i
语句, i++
增加了5倍,并且在每次循环迭代中被添加到sum
,所以
1 + 2 + 3 + 4 + 5 = 15
答案 1 :(得分:0)
这是循环内部会发生的事情。
答案 2 :(得分:0)
这条指令做了两件事:sum += i++
第一
sum = sum + i;
以后:
i = i + 1;
//初始值
sum = 0;
i = 1;
//当循环完成其最后一条指令时,打印
sum = sum + 1
sum = 1;
i = i + 1;
i = 2;
============
sum = sum + 2
sum = 3;
i = i + 1;
i = 3;
============
sum = sum + 3
sum = 6;
i = i + 1;
i = 4;
============
sum = sum + 4
sum = 10;
i = i + 1;
i = 5;
============
sum = sum + 5
sum = 15;
i = i + 1;
i = 6;