簡體   English   中英

需要有關for循環示例的幫助,我不知道它是如何工作的

[英]Need assistance on for loop example, I don't know how it works

任何人都可以幫助我理解這相當於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); 
}

如果查看評估循環時將使用的實際值,可能最容易理解。 鑒於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。

Java for循環是來自鏈接的Wikipedia頁面的Traditional for循環的示例,

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;
}

第一關

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!

}

初始化程序是起始編號

條件是導致循環停止的原因

增量是您要添加到初始值設定項的數量,以便在正確的時間滿足條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM