javaSE-关键字:break--countinue--return
一、break;终止语句
- break是关键字:一个完整的Java语句: break; break + ";分号";
- break;用在两个地方,其它位置不行
- 1、switch语句当中,用来终止switch语句的执行。防止case穿透现象。
- 2、break;语句用在循环语句当中,用来终止循环的执行。在for、while、do..while()、当中。
- 在默认情况下:break语句终止的是离他最近的循环语句(注意是循环);break;语句的执行并不会让整个方法main结束
业务:从键盘不断的接收用户输入的整数,只要用户输入的数字在[0~100]之间,则将输入的数字累加,一旦用户输入的整数不在[0-100]的范围,则终止循环的执行,并输出计算结果。
java.util.Scanner scanner = new java.util.Scanner(System.in); int sum = 0; while(true){ System.out.print("请输入[0-100]的整数:"); int num = scanner.nextInt(); if(num >= 0 && num <= 100){ sum += num; System.out.println("累加" + num + "成功!"); }else{ System.out.println("不在合法范围,无法累加" + num); break; } } System.out.println("最终累加结果 = " + sum);
分析输出结果:当循环语句多层嵌套的时候break语句终止的是哪个循环呢?我们来看以下的程序:
for(int j = 1; j <= 2; j++){ for(int i = 1; i <= 10 ; i++){ if(i == 5){ break; } System.out.println("i = " + i); } }
- 通过以上分析:break语句默认情况下只能终止离它“最近”的“一层”循环。以上的break语句则终止的是内部循环,不影响外部循环的执行。
二、coutinue; 终止当前本次循环;直接进入下一次循环继续执行
for(int i = 1; i <= 10; i++){ if(i == 5){ break; } System.out.println("break : i = " + i); } System.out.println("----------------------"); for(int i = 1; i <= 10; i++){ if(i == 5){ continue; } System.out.println("continue : i = " + i); }
- 以上代码分析结果如下:
三、return;
return关键字并不是专门用于结束循环的,return语句用于终止函数的执行或退出类的方法,并把控制权返回该方法的调用者。
如果这个方法带有返回类型,return语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达式的 return;。
- return 两种表达式:1、【 return 值;】
return 与方法相同类型的变量; 2、【 return;】
- “return;”的作用就是用来终止当前方法的。不是结束整个程序
- 在同一个域当中,"return;"下面不能再编写其它代码。编写之后编译报错。
- 如果这个方法在执行完之后不需要返回任何数据,返回值类型必须写void关键字,不能空着不写。
public static void method2(){ return 10; } /** *以上代码编译报错, *方法在声明的时候返回值类型定义为void表示该方法执行结束的时候不能返回任何数据 * */ public static void method2(){ return; } /** *代码编译通过 *当一个方法的返回值类型是void的时候,方法体当中允许出现“return;”语句 *注意:不允许出现“return 值;” *这个语法的作用主要是用来终止方法的执行。 */