我刚开始学习编程,java是我的第一语言。我发现涉及循环的练习,我想知道结果是如何找到的:
int result = 0;
for (int i = 0; i < 5; i++){
if(i == 3){
result += 10;
}
else{
result += i;
}
}
System.out.println(result);
输出为:17
我知道这是一个愚蠢的基本问题,但我真的需要了解结果如何17。
答案 0 :(得分:5)
在你的循环中:
i
从0
开始,因此第一个值为0
i<5
不为真时停止,因此当i=5
不循环时,最后一个值为4
因此i
将采用值:
i -> action
0 -> go into else : result += 0 so result is 0
1 -> go into else : result += 1 so result is 1
2 -> go into else : result += 2 so result is 3
3 -> go into if : result += 10 so result is 13
4 -> go into else : result += 4 so result is 17
答案 1 :(得分:1)
下面逐行给出代码说明:
int result = 0;
for (int i = 0; i < 5; i++){
if(i == 3)
{
result += 10;
}
else{
result += i;
}
}
System.out.println(result);
第1行:结果变量(类型int)初始化为零(0)
第2行:我们正在使用一个从0到4(5次)的for循环
第3-6行(if-condition):我们在这里使用if-condition,如果i == 3那么它会将10加到结果变量else(当i不等于3时) )它会将i的值添加到结果变量中。
对于i等于0,1,2和4,它将i的值加到result(else part),而i等于3,它将10加到result的值。
第7行:最后,我们正在显示结果的值。
答案 2 :(得分:0)
你的循环为i
开始值0
int i = 0
循环直到i
大于4
i < 5;
并为每个循环添加1到i
。
i++
然后i
达到值3
if(i == 3){
将{10}添加到result
变量
result += 10;
如果是另一个值,请将i
值添加到result
}else{
result += i;
结果为17的原因是:
第一个循环,i
= 0且不是3,因此您将i
添加到result
:result
= 0
然后在第二个循环i
= 1而不是3,因此您将i
添加到result
:result
= 0 + 1
然后在第三个循环i
= 2并且不是3,因此您将i
添加到result
:result
= 1 + 2
然后在第四个循环i
= 3 ,它是3,所以你将10 添加到result
:result
= 3 + 10
然后在第5循环i
= 4并且不是3,因此您将i
添加到result
: result
= 13 + 4 = 17
没有第6个循环,因为i
不再小于5
答案 3 :(得分:0)
以下是代码的简单注释版本:
//Result is set to 0 first
int result = 0;
//Basic for loop, int i = 0 is setting your counter to 0,
//then i < 5 is the loop's stop condtion
//Finally i++ represent the incrementation, in this case "i++" means i = i + 1
for (int i = 0; i < 5; i++){
//Here if i = 3 result = result + 10
if(i == 3){
result += 10;
// Else you add i's value to your result
}else{
result += i;
}
}
//I = 5 so you get out of the loop
//In the end you print the result
System.out.println(result);
结果的价值:
i = 0 -> result(0) + 0 -> 0
i = 1 -> result(0) + 1 -> 1
i = 2 -> result(1) + 2 -> 3
i = 3 -> result(3) + 10 -> 13
i = 4 -> result(13) + 4 -> 17
i = 5 -> you get out of the loop
Final result : result = 17
答案 4 :(得分:0)
for
循环将变量i
初始化为0
,并在每次迭代中为其添加1。因此,在第一次迭代中,i
为0
,在下一次迭代中,i
为1
,依此类推。在每次迭代中,循环体,即for
语句下的代码被执行
现在让我们来看看循环的主体。在正文中,它正在检查i
是否占用了值3
(i==3
)。当i
占用值3时(即,在第4次迭代中),10
会被添加到结果中。 (result += 10
与result=result+10
相同。只要i
占用除3以外的任何值,其他条件就会被执行。
因此,当i
为0,1或2时,result
的值将分别为
0(0 + 0),1(O + 1),3(1 + 2)
i=3
时,结果=结果+ 10 - &gt; 结果= 3 + 10 - &gt; 结果= 13
当i=4
时,结果=结果+ i - &gt; 结果= 13 + 4 - &gt; 结果= 17
i
无法接受值5,因为它不同意条件i<5
。因此你有
结果= 17