任何人都可以帮我理解这相当于400吗?我无法弄明白for
是如何运作的。
import java.util.*; //for class Scanner
public class Exercise
{
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int value =0;
for (int num = 10; num<= 40; num +=2){
value =value+num;
}
System.out.println(value);
}
答案 0 :(得分:6)
如果查看评估循环时将使用的实际值,可能最容易理解。鉴于num
被初始化为 10 ,并且循环将在等于或超过 40 时结束,这些是循环经历的16次迭代:
value = value + num
-------------------
value = 0 + 10
value = 10 + 12
value = 22 + 14
value = 36 + 16
value = 52 + 18
value = 70 + 20
value = 90 + 22
value = 112 + 24
value = 136 + 26
value = 162 + 28
value = 190 + 30
value = 220 + 32
value = 252 + 34
value = 286 + 36
value = 322 + 38
value = 360 + 40
value
的最终值为400。
答案 1 :(得分:5)
Java for
循环是来自链接的维基百科页面的Traditional for
loop的示例,
for(INITIALIZATION; CONDITION; INCREMENT/DECREMENT){
// Code for the for loop's body
// goes here.
}
因此,您发布的示例等同于
int value = 0;
int num = 10;
while (num <= 40) {
value += num;
num += 2;
}
System.out.println(value);
当然,您可以直接添加输出以查看其中的操作,
for (int num = 10; num <= 40; num += 2) {
System.out.printf("value = %d, num = %d%n", value, num);
value = value + num;
}
答案 2 :(得分:1)
第一次通过
value = value + num;
10 = 0 + 10;
第二遍:
value = value + num;
22 = 10 + 12
第三遍:
value = value + num;
36 22 + 14
在for循环中
for(initializer, condition, increment){
do something!
}
初始化程序是起始编号
条件是导致循环停止的原因
增量是您要添加到初始值设定项的数量,以便在正确的时间满足条件。