详述break,return,continue的功能与区别
break的功能
用于switch或循环,结束当前switch或循环。
例如:
break用于结束其所在当前switch语句块程序的运行,但不会影响其所在语句块外部代码的执行。
public class BreakTest {
public static void main(String[] args) {
int i=1;
switch(i){
case 1 :
System.out.println("代码1");
break; //break用于结束其所在当前switch语句块程序的运行,但不会影响其所在语句块外部代码的执行。
case 2 :
System.out.println("代码2");
break;
default :
System.out.println("代码3");
}
System.out.println("代码4");
}
}
输出:
代码1
代码4
break用于结束其所在当前循环语句块程序的运行,但不会影响其所在语句块外部代码的执行。
public class LoopTest {
public static void main(String[] args) {
for(int i=0;i<3;i++){
if(i==1){
break; //break用于结束其所在当前循环语句块程序的运行,但不会影响其所在语句块外部代码的执行。
}
System.out.println("in code");
}
System.out.println("out code");
}
}
输出:
in code
out code
return的功能
用于结束当前方法,方法内return关键字下面的代码不再执行。
return只结束其所在方法的运行。
public class LoopTest {
static void loop(){
for (int i = 0; i < 3; i++) {
if (i == 1) {
return; //return只结束其所在方法的运行。
}
System.out.println("in code");
}
}
public static void main(String[] args) {
loop();
System.out.println("out code");
}
}
输出:
in code
continue的功能
只用于循环,结束当次当前循环进入下次循环,注意:结束意味着循环体中continue关键字下面代码不再执行。
continue用于结束当前循环进入下次循环。
public class LoopTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1) {
continue; //continue用于结束当前循环进入下次循环。
}
System.out.println("in code"+i);
}
System.out.println("out code");
}
}
输出:
in code0
in code2
out code
三者的区别
由上述功能可以看出三者有明显的区别,下面用代码来展示:
break:
public class LoopTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1) {
break; //break用于结束其所在当前循环语句块程序的运行,但不会影响其所在语句块外部代码的执行。
}
System.out.println("in code"+i);
}
System.out.println("out code");
}
}
输出:
in code0
out code
return:
public class LoopTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1) {
return; //return只结束其所在方法的运行。
}
System.out.println("in code"+i);
}
System.out.println("out code");
}
}
输出:
in code0
continue:
public class LoopTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1) {
continue; //continue用于结束当前循环进入下次循环。
}
System.out.println("in code"+i);
}
System.out.println("out code");
}
}
输出:
in code0
in code2
out code
由上文可以看出三者的不同!