if语句
if语句分别使用return、continue、break的区别
- return
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
return;
}
System.out.println(i);
}
System.out.println("end");
}
//执行结果
start
0
1
总结:
- return会结束循环,后面的语句不会执行
- return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行
- return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致
- return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
- break
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
break;
}
System.out.println(i);
}
System.out.println("end");
}
//执行结果
start
0
1
end
- break结束循环,后面的语句会执行
- 只能在循环体内和switch语句体内使用break语句。
- 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
- 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
- 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环
- continue
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
continue;
}
System.out.println(i);
}
System.out.println("end");
}
//执行结果
start
0
1
3
4
5
6
7
8
9
end
- continue会结束本次判断的循环,跳入下一个循环
- 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
- 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。
- 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,
最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同
public class MySet2 {
public static void main(String[] args) {
fun();
}
private static void fun() {
System.out.println("函数要执行了......");
for (int i = 0; i < 5; i++) {
if (i == 2){
break;
}
System.out.println(i);
}
System.out.println("函数要停止了......");
}
}
第一次使用break
执行结果为:
函数要执行了......
0
1
函数要停止了......
从结果中看到当使用break时,if语句执行了三次,当到第三次i的值等等于2了,那么就会执行break,开始执行break后就直接终止了for循环,for循环结束后会继续执行下面的代码,也就是 函数要停止了......
整个循环从外到里共三层,第一层是fun()函数,第二层是for循环,第三层是if判断
if语句中使用break后,第二层和第三层会停止执行,第一层会继续执行
第二次使用continue
执行结果为:
函数要执行了......
0
1
3
4
函数要停止了......
从结果中看到当使用continue时,if语句执行了一次,当i的值等等于2时,就结束了if判断,并且不会执行,但是for循环还是会继续执行,也就是说if是一次性代码,只要满足i的值等等于2,它就会执行,执行后下次就在for循环内就不会执行第二次
整个循环从外到里共三层,第一层是fun()函数,第二层是for循环,第三层是if判断
当if使用了continue之后,第三层会停止执行,第一层和第二层继续执行未完成的工作
第二次使用return
函数要执行了......
0
1
从结果看,使用return语句时,if会停止执行,for循环会停止执行,函数也会停止执行
整个循环从外到里共三层,第一层是fun()函数,第二层是for循环,第三层是if判断
当if使用了return之后,第一层、第二层、第三层会停止执行