冬眠至上
2018-11-18 16:34
public class HelloWorld {
public static void main(String[] args) {
// 保存累加值
int sum = 0;
// 从1循环到10
for (int i = 1; i <= 10; i++) {
// 每次循环时累加求和
// 判断累加值是否大于20,如果满足条件则退出循环
if ( sum>20 ) {
sum = sum + i;
System.out.print("当前的累加值为:" + sum);
//退出循环
break;
}
}
}
}
sum一直为零,所以没有其他需要执行的代码了
将if(sum>20)改为if(sum<20)就对了。
因为你写的执行判断条件是当sum>20时执行sum=sum+i,并打印sum的值;
但是由于if判断从开始就是false ,所以不会执行sum=sum+i,也不会打印sum的值,所以执行结果什么都不会显示。
for循环中,sum的值一直是0,没有改变的;只在if判断中变化的.
开始if中的sum=0;0>20?为false所以不执行sum+i,这样sum一直为0,继续循环,直到i<=10不成立时跳出循环,但sum还是0.
for循环只有后没有执行sum操作,也就是说if语句不成立,每次都执行for,知道for循环跳出,此时的sum依旧等于0 ;
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题
回答 2
回答 2
回答 1
回答 2
回答 1