关于java循环的困惑

Kru*_*rul -4 java loops for-loop

我刚开始学习编程,java是我的第一语言.我遇到了涉及for循环的练习,我想知道结果是如何找到的:

int result = 0;
for (int i = 0; i < 5; i++){
    if(i == 3){ 
        result += 10;
    }
    else{
        result += i;
    }
}
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

输出是:17

我知道这是一个愚蠢的基本问题,但我真的需要了解结果如何17.

azr*_*zro 5

在你的循环中:

  • i开始0,所以第一个值是0
  • i<5i=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
Run Code Online (Sandbox Code Playgroud)