Java--continue与break的区别

break(跳出)
continue(继续)
break语句:作用范围:选择结构和循环结构。
continue语句:只能应用于循环结构。

注意:
①、这两个语句不能离开应用范围,否则存在是没有意义的。
②、这两个语句单独存在时,下面是不能够有其他语句的,因为程序执行不到。
③、continue语句是结束本次循环继续下次循环。
④可以用标号(合法的标识符都可以作为标号)让这两个语句作用于指定的范围。
例:

public class BreakDemo {
	public static void main(String[] args) {
		for (int x = 0; x < 3; x++)
		{
			System.out.println("x="+x);
			break;
		}
	}
}

程序输出结果:

x=0

上面程序中当运行到第六行的break时,会直接跳出for循环所以不会打印出“x=1和x=2”


break语句单独存在时下面不能有其他语句:

本程序无法通过编译(报错),因为break下面的语句永远都不会执行到。
public class BreakDemo {
	public static void main(String[] args) {
		for (int x = 0; x < 3; x++)
		{
			break;
			System.out.println("x="+x);//本行代码永远无法执行到
		}
	}
}

在此种情况下break语句下面可以有其他语句

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

程序运行结果:

x=0

在此程序中break语句下面可以有其他语句,因为此时的break语句被if判断语句所控制,当x=1时,让程序执行到break语句使程序跳出循环。(当x不等于1时,break语句下面的输出语句会执行到,所以程序可以正常运行)


break跳出指定循环语句
1、break在哪个循环语句中就会跳出哪个循环语句。
1-1:把break写在内层循环语句中:
例:

public class BreakDemo {
	public static void main(String[] args) {
		for (int x = 0; x < 3; x++)
		{
			for (int y = 0;y < 4;y++)
			{
				System.out.println("x="+x);
				break;
			}
		}
	}
}

程序运行结果:

x=0
x=1
x=2

当程序执行到break语句的时候会直接跳出内层循环,执行外层循环。

1-2:把break写在外层循环语句中:
例:

public class BreakDemo {
	public static void main(String[] args) {
		for (int x = 0; x < 3; x++)
		{
			for (int y = 0;y < 4;y++)
			{
				System.out.println("x="+x);
			}
			break;
		}
	}
}

此程序执行完内层循环后会直接跳出外层循环。
程序执行结果:

x=0
x=0
x=0
x=0

用标号让break语句作用在指定的语句上。
例:

public class BreakDemo {
	public static void main(String[] args) {
		w:for (int x = 0; x < 3; x++)
		{
			q:for (int y = 0;y < 4;y++)
			{
				System.out.println("x="+x);
			}
			break w;
		}
	}
}

程序运行结果:

x=0
x=0
x=0
x=0

给外层循环标号w,给内层循环标号q,此时再次使用break语句时,就可以在break后面加上标号,来指定具体跳出哪个循环。


continue单独存在时,下面不能有任何语句。
例:

本程序无法通过编译(报错),因为continue下面的语句永远都不会执行到。
public class ContinueDemo {
	public static void main(String[] args) {
		for (int x = 0; x < 3; x++)
		{
			continue;
			System.out.println("x="+x);
		}
	}
}

在此种情况下continue语句下面可以有其他语句

public class ContinueDemo {
	public static void main(String[] args) {
		for (int x = 0; x <= 10; x++)
		{
			if(x%2==1)
			{
				continue;
			}
			System.out.println("x="+x);
		}
	}
}

程序运行结果:

x=0
x=2
x=4
x=6
x=8
x=10

在此程序中continue语句下面可以有其他语句,因为此时的continue语句被if判断语句所控制,当x%2==1时,程序会执行到continue语句使程序跳出本次循环,继续下次循环。(当x%2不等于1时,continue语句下面的输出语句会执行到,所以程序可以正常运行)
continue语句特点:结束本次循环,继续下次循环。


在for嵌套中使用continue

public class ContinueDemo {
	public static void main(String[] args) {
		w:for (int x = 0; x < 3; x++)
		{
			for (int y = 0; y < 4; y++)
			{
				System.out.println("x="+x);
				continue w;
			}
		}
	}
}

程序运行结果:

x=0
x=1
x=2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值