break
只能用在switch语句和循环语句中,有时候会在条件语句中使用,那是因为外层是循环语句,break仍然在循环语句内;代码中遇到break,将结束该循环,执行之后的代码。
for(int i = 1;i<5;i++){
if(i == 2){
break;
}
System.out.println(i);
}
输出结果为:1
此时break只能调出一层循环,如果要跳出多层循环,需要在你想要调出循环体的地方加一个标签
out:
for(int i = 1;i<5;i++){
for(int j = 1;j<5;j++){
if(j == 2){
break out;
}
System.out.println(i);
}
}
1、当i=1时,执行内层循环;
2、当j=1时,执行if判断,j不等于2,继续往下执行代码,输出i=1;
3、继续执行内层循环,j++此时等于2,if判断成立,执行括号内代码,break out跳出out标记的循环,即外出循环,循环结束。
4、输出结果为:1
注意:
out仅仅是一个标签,可以为A b hello等任何标识符。
continue
只能用在循环语句中,用于结束本次循环,继续进行下次循环
for(int i = 1;i<5;i++){
if(i == 2){
continue;
}
System.out.println(i);
}
输出结果为:1,3,4,5
continue也可以结束多层循环,用法和break一样,在其想要跳出循环体的地方加一个标签即可。
return
用于结束一个方法,返回给上层调用者,如果位于main方法内,相当于结束了程序。
其实return也可以用于结束循环,因为return用于结束一个方法,如果方法中有循环的话,不管return嵌套于多少层循环之内,循环都结束。
public class Demo{
public static void main(String[] args) {
// 调用getSum方法得到求和结果并输出
System.out.println(getSum());
}
// 定义一个求和方法,将求和结果sum返回给调用者
public static int getSum() {
int a = 1;
int b = 2;
int sum = a + b;
return sum;
}
}
1、jvm虚拟机从main方法开始执行
2、调用getSum方法
3、执行getSum方法,求和得到sum=3;
4、将结果3返回给调用者,即main方法,此时返回给main方法的是3,而不是getSum方法,return的时候getSum方法已经结束,此时为:
System.out.println(3);
5、输出结果3