前面定义的sum = 0;
for(int i =0 ; i<=10;i++)
{
sum = sum+i; //这句是怎么运算出 21的
}
你可以理解成一个赋值过程(赋值是从右往左)。首先代码是从上往下执行,从左往右执行的。然后,首先,sum=0(这是你之前定义的),你看当i=0时,for里面的表达式
sum = sum+i; 就变成了0+0=sum,这是一次循环,然后循环继续。当i=1 的时候,for里面的表达式就变成了0(这里的零就是当i= 0时,sum的值)+1=sum,sum=1;然后每次循环sum都会被重新累加,当for循环的条件语句(i《=10)不被满足时,就循环结束。
是喊你求当sum大于20 就结束循环吧
用判断语句判断sum>20然后break语句跳出循环
这个是求1到10的和,不会算出21,你可以加一句 Sytem.out.println("sum="+sum + " i=" + i);来输出每一次的值,这样就很清楚了