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中止当前循环。