break,continue,return都是结束语句,那么它们之间有什么区别呢?
一.break
只能用于结束当前switch和循环,例子如下,执行break后,便不会再执行后面的语句,所以没有打印555
public class example {
public static void main(String[] args) {
int age=0;
switch (age) {
case 0:
System.out.println("111");
case 1:
System.out.println("222");
case 2:
System.out.println("333");
case 3:
System.out.println("444");
break;
default:
System.out.println("555");
}
}
}
但如果在非switch和循环中使用,编译器便会报错
public class example {
public static void main(String[] args) {
int i=0;
if(i==0) {
break;
}
}
}
二.continue
只在循环语句中使用,作用是结束本次循环(包含continue的这一次)进行下一次循环,例子如下:循环体中continue关键字以下的代码不再执行
public class example {
public static void main(String[] args) {
for(int i=0;i<5;i++) {
System.out.println("在你头上暴扣");
if(i>1) {
continue;
}
System.out.println("我根本不是idol");
}
}
}
三.return
可以作用在除代码块以外的任意位置,有两个作用,一是结束当前方法,二是返回值,要注意的是,如果方法中return后面有执行不到的语句的话,编译阶段会因为后面的语句是不可达的而报错,例子如下:
public class example {
public static void main(String[] args) {
System.out.println("king of underground");
return;
System.out.println("执行不到");
}
}
还有一种情况就是如果在switch中有不经过return的其他出口的话,是不会报错的,就像下面这样:
public class example {
public static void main(String[] args) {
int age=1;
switch (age) {
case 0:
System.out.println("111");
break;
case 1:
System.out.println("222");
return;
case 2:
System.out.println("333");
return;
case 3:
System.out.println("444");
return;
default:
System.out.println("555");
return;
}
System.out.println("out");
}
}