宝慕林6422410
2017-11-22 10:58
public class HelloWorld {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
System.out.print("当前的累加值为:" + sum);
if (sum>20) {
break;
}
}
}
}
输出结果为当前的累加值为:1当前的累加值为:3当前的累加值为:6当前的累加值为:10当前的累加值为:15当前的累加值为:21
为什么会这样??
因为你的System.out.print("当前的累加值为:" + sum);这一句在for循环里面,第一次i=1;输出累加值sum=0+1=1;如果累加值大于20就进入if条件语句,没有大于,所以再执行一次for循环,此时i=2,i<=10,满足条件,进入循环sum=1+2=3;然后又输出累加值为3;之后就是一直输出到输出为21的时候就进入了if条件判断,然后break的作用是退出指定循环也就是for循环。
public class HelloWorld {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (sum>20) {
System.out.print("当前的累加值为:" + sum);
break;
}
}
}
}
大于20的时候输出,为什么不能选择28或30或40的时候输出,而是一旦超过20就输出呢
你的问题是指不应该打印“当前的累加值为:21”吗?如果是的话,if条件和打印顺序换一下即可
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题