break章節的一個問題
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
為什么會這樣??
2017-11-22
因為你的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;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
2018-03-26
大于20的時候輸出,為什么不能選擇28或30或40的時候輸出,而是一旦超過20就輸出呢
2017-11-22
你的問題是指不應該打印“當前的累加值為:21”嗎?如果是的話,if條件和打印順序換一下即可