对于循环解释

时间:2015-05-06 01:28:07

标签: java loops for-loop

大家下午好。所以我明天就开始编写Java编程考试,并且我收到了考试的学习指南,而我却相当坚持。我有这个问题,如果可能的话,我想让某人解释一下结果?

public class FinalProb {
  public static void main(String[]junk) {
     int[] huskey = {1, 8, 5};
     int beagle = 0;
     for (int k = 0; k < huskey.length; k++) {
       beagle += huskey[ k ];
       System.out.println( beagle );
     }
  }
 }

显然,系统输出会给出答案:

1

9

14

所以基本上,有人可以向我解释顶部代码如何提供输出?如果可能的话,请尽可能地愚蠢,因为截至目前,我不知道这是怎么发生的。感谢任何能够提供帮助的人,我希望你们都有一个美好的夜晚:D

3 个答案:

答案 0 :(得分:1)

这是对评论的重述,但更详细一点。

拿一张纸和一支铅笔。将纸张分成&#34; k&#34;和#34; beagle&#34;,以及如果你感到困惑的笔记栏。

首先在其列中写入beagle的初始值:0。

转到循环。在其列中写入k的初始值:0。检查是否进行循环迭代:它是否小于huskey数组的长度?它是。

现在进入第一次迭代的+=。通过查找k的值并索引到huskey数组来评估右侧。添加到beagle的当前值并将其写入beagle列。这会将1放在beagle列中。

现在转到println。它将打印您在beagle列中编写的最后一个值,1。

返回for。它会将k增加1,因此在k列中写入1。和以前一样,检查k的当前值是否小于数组长度...

继续这样做,将每个变量的最新值保留为其列中的最后一个条目。通过练习,你可以在头脑中做到这一点,但是直到你可以,在纸上做。

答案 1 :(得分:1)

public class FinalProb {

  public static void main(String[]junk) { // must be separated by space
     //**************** variable initialization ******************
     int[] huskey = {1, 8, 5}; //declaration of int array
     int beagle = 0; // int declaration
     //***********************************************************
     // loop until k reaches huskey array lenght (it loops 3 times because huskey length is 3)
     for (int k = 0; k < huskey.length; k++) {
       beagle += huskey[ k ]; // add the values of huskey with given index 'k' to beagle variable
       // huskey[0] = 1
       // huskey[0] = 8
       // huskey[0] = 5
       System.out.println( beagle );
     }
  }
 }

// 0 + 1 = 1 (new beagle value in first loop)
// 1 + 8 = 9 (new beagle value in second loop)
// 8 + 5 = 14 (new beagle value in third loop)

// expected output:
// 1
// 9
// 14

答案 2 :(得分:0)

k的值从0开始并且以K <0结束。 length.husky(这是3):

  • k = 0,k = 1,k = 2,

当k = 3时,3不是&lt;因此,循环将结束 结果是: 当人们说:beagle + =(某事)时,它意味着beagle = beagle +(某事),那么beagle的值将改为[beagle +(something)]。由于beagle初始化为0,因此它会继续添加数组husky []内的值。 所以:

  • k = 0,beagle = 0 + husky0 = 1    k = 1,beagle = 1 + husky1 = 9    k = 2,beagle = 9 + husky2 = 14

希望这有帮助。