Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么for循环输出这个?_Java_For Loop_Iteration - Fatal编程技术网

Java 为什么for循环输出这个?

Java 为什么for循环输出这个?,java,for-loop,iteration,Java,For Loop,Iteration,我只是被这个家庭作业问题弄糊涂了。我不明白为什么I和sum的值会这样出现。我只是不理解这里算法的概念,有人能解释一下吗 int i = 0; int sum = 0; for(i=0; i < 5; i++) { sum += i; } System.out.println(i + "\n" + sum); 5-因为有5次迭代 10-因为总和是10:) 总数 验证码 int i = 0; int sum = 0; for (i = 0; i < 5; i++) {

我只是被这个家庭作业问题弄糊涂了。我不明白为什么Isum的值会这样出现。我只是不理解这里算法的概念,有人能解释一下吗

int i = 0;
int sum = 0;
for(i=0; i < 5; i++)
{
    sum += i;
}
System.out.println(i + "\n" + sum);
  • 5-因为有5次迭代
  • 10-因为总和是10:)
总数

验证码

int i = 0;
int sum = 0;
for (i = 0; i < 5; i++) {
    System.out.println(String.format(
        "Iteration %s: %s + %s = %s", (i + 1), sum, i, (sum + i)));
    sum += i;
}
inti=0;
整数和=0;
对于(i=0;i<5;i++){
System.out.println(String.format(
“迭代%s:%s+%s=%s”,(i+1),求和,i,(求和+i));
总和+=i;
}
此代码:

  int i = 0;
  int sum = 0;
  for(i=0; i < 5; i++)
  {
     sum += i;
  }
  System.out.println(i + "\n" + sum);
inti=0;
整数和=0;
对于(i=0;i<5;i++)
{
总和+=i;
}
系统输出打印项次(i+“\n”+总和);

sum
中输出:0+1+2+3+4等于10,迭代次数=5。

您创建了一个值为
0
的变量
i
,然后在for循环中将其递增5倍。所以你得到了
i
的值为
5


现在sum的值是
0+1+2+3+4
,这是
10
,因为您迭代循环,使i==5,然后打印它

总和如下所示,将i添加到先前计算的总和中

0 + 1 = 1 
1 + 2 = 3
3 + 3 + 6
6 + 4 = 10

试着把你的print命令放在循环中,你可以更好地看到发生了什么。

唯一不明显的事情是(在我看来):
i
将是5,因为你使用了
i++
,它也将
i
增加了1,即使在最后一次迭代之后主体没有执行。车身内部
i
最多只能为4

int sum = 0; int i = 0;
for (i = 0; i < 5; i++)
{
    sum += i;
    if (i == 5)
        System.out.println("never executed");
};
int和=0;int i=0;
对于(i=0;i<5;i++)
{
总和+=i;
如果(i==5)
System.out.println(“从未执行”);
};

其他答案说明了其他问题。

这里你不明白什么部分?打印出循环中i和sum的值,看看它们是如何变化的。0+1+1+1+1+1=5=
i
。0+0+1+2+3+4=10=
sum
。我懂java,只是无法让我的头脑理解简单的东西在评级进一步下降之前结束这个问题
int sum = 0; int i = 0;
for (i = 0; i < 5; i++)
{
    sum += i;
    if (i == 5)
        System.out.println("never executed");
};