Java基礎-return、break、continue在迴圈中的作用
阿新 • • 發佈:2019-02-05
return、break、continue是迴圈控制語句中常用的三個關鍵字,它們都有終止當前語句執行的作用,但又有很大的卻別,以下是測試及分析結果。
程式碼片段一:
/**
* 測試return在迴圈中的作用
*/
static void TestReturn(){
int i = 0,j = 0;
for ( i = 0; i < 2; i++) {
for ( j = 0; j < 2; j++) {
System.out.println("return : 這裡是內迴圈 " + "i = " + i + " j = " + j);
return;
}
System.out.println("return : 這裡是外迴圈 " + "i = " + i + " j = " + j);
}
System.out.println("return : 這裡是在迴圈之外");
}
輸出結果:
return : 這裡是內迴圈 i = 0 j = 0
分析:內迴圈在執行一次後,就跳出當前方法。
程式碼片段二:
/**
* 測試break在迴圈中的作用
*/
static void TestBreak(){
int i = 0,j = 0;
for ( i = 0; i < 2; i++) {
for ( j = 0; j < 2; j++) {
System.out.println("break : 這裡是內迴圈 " + "i = " + i + " j = " + j);
break;
}
System.out.println("break : 這裡是外迴圈 " + "i = " + i + " j = " + j);
}
System.out.println("break : 這裡是在迴圈之外" );
}
輸出結果:
break : 這裡是內迴圈 i = 0 j = 0
break : 這裡是外迴圈 i = 0 j = 0
break : 這裡是內迴圈 i = 1 j = 0
break : 這裡是外迴圈 i = 1 j = 0
break : 這裡是在迴圈之外
分析:j始終等於0,可以知道,程式每次內迴圈直接跳出。
程式碼片段三:
/**
*測試Continue在迴圈中的作用
*/
static void TestContinue(){
int i = 0,j = 0;
boolean flag = true;
for ( i = 0; i < 2; i++) {
for ( j = 0; j < 2; j++) {
System.out.println("continue : 這裡是內迴圈 " + "i = " + i + " j = " + j);
if(flag) continue;//這裡if是為了避免Java編譯器標記 unreachable code
System.out.println("continue後面的程式碼");
}
System.out.println("continue : 這裡是外迴圈 " + "i = " + i + " j = " + j);
}
System.out.println("continue : 這裡是在迴圈之外" );
}
輸出結果:
continue : 這裡是內迴圈 i = 0 j = 0
continue : 這裡是內迴圈 i = 0 j = 1
continue : 這裡是外迴圈 i = 0 j = 2
continue : 這裡是內迴圈 i = 1 j = 0
continue : 這裡是內迴圈 i = 1 j = 1
continue : 這裡是外迴圈 i = 1 j = 2
continue : 這裡是在迴圈之外
分析:程式每次內迴圈中止。
由以上三個測試可分析出結果:
return直接跳出當前執行方法。
break直接跳出當前層次的迴圈。
continue中止當前迴圈。