break,continue,return的区别

break:用于switch或循环,结束当前switch或循环。
例如:先写一段switch语句

public class HelloWorld {
	public static void main(String[] args) {
		int i=1;
		switch(i){
			case 1 :
				System.out.println("123");
			case 2 :
				System.out.println("456");
			default :
				System.out.println("789");
		}
		System.out.println("0");
	}
}

其运行结果为

可以看到,原代码会从case符合的那一句起一直往下全部执行。

而当使用break结束switch时 

public class HelloWorld {
	public static void main(String[] args) {
		int i=1;
		switch(i){
			case 1 :
				System.out.println("123");
				break;
			case 2 :
				System.out.println("456");
				break;
			default :
				System.out.println("789");
		}
		System.out.println("0");
	}
}

符合case的那段语句执行后,switch会被结束不再执行,并且并不影响break所在的switch语句以外的语句的执行。 

return;用于结束当前方法,方法内return关键字下面的代码不再执行

和break不同的是,break结束的是switch或者循环语句,而return结束的是方法,这也就意味着return执行后其所在的方法后面的语句都不再执行。

public class HelloWorld {
	public static void main(String[] args) {
		int i=3;
		switch(i){
			case 1 :
				System.out.println("123");
				break;
			case 2 :
				System.out.println("456");
				break;
			default :
				System.out.println("789");
				return;
		}
		System.out.println("0");
	}
}

因为i=3,所以直接来到了default并输出789,然后执行return,由于return中止了这个方法,因此后面的0并没有输出。

与break类似的一点是:return只会结束其所在的方法,并不会影响其他方法的运行。

public class ReturnTest {
	
	static void show(){
		System.out.println("show方法");
		return;
	}
	public static void main(String[] args) {
		show();
		System.out.println("main方法");
	}
}

 

可以看到,尽管在执行show方法后执行了return,但后来的main方法并没有受到影响。

值得注意的是,由于return执行时结束其所在方法的特性,其所在方法之后的语句将不再被执行,因此可能导致某些语句完全不可达,最终报错。

例如:

public class HelloWorld {
	public static void main(String[] args) {
		int i=3;
		switch(i){
			case 1 :
				System.out.println("123");
			case 2 :
				System.out.println("456");
			default :
				System.out.println("789");
				return;
		}
		System.out.println("0");
	}
}

在这个switch语句中,由于case1与case2并没有break来将其结束,则程序一定会运行至default,输出789后return,结束方法,导致最后的System.out.println("0")语句无论如何也不可能运行,即此语句不可达,并且报错。

 

continue:只用于循环,结束当次当前循环进入下次循环,注意:结束意味着循环体中continue关键字下面代码不再执行

continue与break都可以用于结束循环,但不同的是break结束的是其所在的整次循环,执行break后会跳出循环并执行之后的语句;而continue则是结束当次的循环,并直接开始下一次循环。

例如:用break结束循环

public class HelloWorld {
	public static void main(String[] args) {
		int a;
		for(a=1;a<3;a++){
			if(a==2){
			System.out.println("123");
			break;
			}
		}
		System.out.println(a);
	}
}

 a最后值为2,是因为当a等于2时输出123后break直接跳出了循环,a不再进行循环中的自增等操作。

而用continue结束循环时

public class HelloWorld {
	public static void main(String[] args) {
		int a;
		for(a=1;a<3;a++){
			if(a==2){
			System.out.println("123");
			continue;
			}
		}
		System.out.println(a);
	}

a最后值为3,这是因为在a=2时执行continue,结束了当次的循环,但并没有像break一样跳出循环,而是立马开始下一次的循环,于是a自增到3。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值