任何人都可以帮助我理解这相当于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);
}
Run Code Online (Sandbox Code Playgroud)
如果查看评估循环时将使用的实际值,可能最容易理解.鉴于它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
Run Code Online (Sandbox Code Playgroud)
最终值为value400.
Java for循环是传统for循环的一个示例,来自链接的Wikipedia页面,
for(INITIALIZATION; CONDITION; INCREMENT/DECREMENT){
// Code for the for loop's body
// goes here.
}
Run Code Online (Sandbox Code Playgroud)
所以,你发布的例子相当于
int value = 0;
int num = 10;
while (num <= 40) {
value += num;
num += 2;
}
System.out.println(value);
Run Code Online (Sandbox Code Playgroud)
当然,您可以简单地添加输出以查看其中的操作,
for (int num = 10; num <= 40; num += 2) {
System.out.printf("value = %d, num = %d%n", value, num);
value = value + num;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |