為什么前者沒有輸出結(jié)果,而后者有呢
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){
? ? ?break;
? ? ? System.out.println(sum);
? ?}
?
}
}?
}
與
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.println(sum);
? ? ?break;
? ?}
?
}
}?
}
存在區(qū)別
2017-01-20
java是按照順序結(jié)構(gòu)讀取的,就是在前面的代碼會先執(zhí)行,第一個你把break放在print前面,程序執(zhí)行到break 就退出了,沒有執(zhí)行到print,下面的是print之后再退出的,所以上面沒有打印出來
2017-01-20
因?yàn)槌绦蛳葓?zhí)行的break,所以后面的輸出結(jié)果語句就不執(zhí)行了
2017-01-20
這兩個的意圖都是實(shí)現(xiàn)一個1-6的累加,當(dāng)sum>20時前者執(zhí)行break直接跳出了該語句,不會執(zhí)行下面的System.out.println();后者則是執(zhí)行了輸出語句再break。
2017-01-20
循環(huán)里break后不執(zhí)行了, ?eclipse提示 unreachable code, 不能執(zhí)行到的代碼。 ? 類似語法錯誤,程序錯誤哪里有輸出。