在Java程序编写过程中,经常就会有一些程序需要用到筛选操作,在大量的中间运行结果里筛选出满足相应条件的最终结果,这些中间运行结果常常不具有递推规律,我们这时就会用到分支结构,按条件筛选,如果有一定的递推规律,我们一般采用循环结构搭配分支结构。而为了提高效率或其它目的我们往往希望计算机在筛选 到满足条件的结果是进行停驻,最直观的作用就是筛选到相应结果是就进行停止,或是为了方便进行接下来的一系列操作。break,return,与continue就是常出现的停驻语句。这三者有时具有相似的作用,有时却截然不同,在本篇中,我会就三者进行详述。
先简单了解三者的在程序中作用的定义:
语句名 | 作用 | 特点 |
break | 结束switch | 只能用于switch分支结构或循环结构。 |
return | 结束所在方法,返回值 | return后面的代码 |
continue | 结束满足条件的当次循环,进入到下次循环。 | 只能用于循环结构 |
根据上表,下面将举实际代码进行阐述:
(1)break有关的相应代码示例:
在计算机中运行如下代码:
public class Test2{
public static void main(String[] args){
int week=2;
switch(week){
case 1:
System.out.println("星期一");
case 2:
System.out.println("星期二");
case 3:
System.out.println("星期三");
case 4:
System.out.println("星期四");
case 5:
System.out.println("星期五");
case 6:
System.out.println("星期六");
case 7:
System.out.println("星期日");
default:
System.out.println("无效");
}
}
}
结果如下图:
可见,没有停驻语句,switch分支结构会执行满足条件后的所有语句。
在Test2代码中加入break语句:
public class Test2{
public static void main(String[] args){
int week=2;
switch(week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("无效");
}
}
}
运行结果如下图:
可见,break使得程序得到满足条件结果后停驻。
在计算机中编写如下代码:
public class Test3{
public static void main(String[] args){
int a=2;
if(a==2){
break;
}
}
}
结果如图:
出现了编译错误,可知break无法在switch或循环外单独使用。
(2)return有关的相应代码的实例:
在计算机中运行如下代码,注意代码中最后一行的输出语句中的“标记”
public class Test4{
public static void main(String[] args){
int week=2;
switch(week){
case 7:{
System.out.println("星期日");
return;
}
case 6:{
System.out.println("星期六");
return;
}
case 5:{
System.out.println("星期五");
return;
}
case 1:{
System.out.println("星期一");
return;
}
case 2:{
System.out.println("星期二");
return;
}
case 4:{
System.out.println("星期四");
return;
}
case 3:{
System.out.println("星期三");
return;
}
default:
System.out.println("无效");
}
System.out.println("标记");
}
}
运行结果如图:
“标记”语句没有被输出,可知return直接结束了其所在方法。
进一步证明,在计算机中运行如下代码:
public class Test5 {
static void show(){
System.out.println("show方法");
return;
}
public static void main(String[] args) {
show();
System.out.println("main方法");
}
}
结果如图:
可见,return直结束当前所在方法,程序中的其他方法。
(3)continue相关的代码实例:
在计算机中运行如下代码:
public class Test6 {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
if (i == 1) {
continue;
}
System.out.println("in code"+i);
}
System.out.println("out code");
}
}
结果如下图:
可知,Continue只结束满足相应条件的当次循环,与接下不满足条件的循环无关。
同break一样,continue不能单独使用,这里不再举代码示例。
以上就是对break,return与continue的详述。