break,continue,return的区别,以及break outer和continue outer的用法

本文主要阐述:控制循环结构的break和continue关键字,break outer和continue outer的用法,以及使用return结束方法,

使用break结束循环

break用于完全结束一个循环,跳出循环体。不管是哪种循环结构,只要碰到break,系统就会完全结束该循环。

值得注意的是:break默认是完全结束该循环,如果想要直接结束外层循环,则需在外层循环之前增加 outer: 标签,此时break outer结构将直接结束外层循环;

注意:java中outer标签一定要放在循环前才能起作用;

例:
break

public class BreakTest {
	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			for (int j = 1; j < 5; j++) {
				System.out.println("此时i="+i+",j="+j);
				if (j == 2) {
					break;
				}
			}
		}
		System.out.println("循环结束");
	}
}
/**
* 此时i=0,j=1
* 此时i=0,j=2
* 此时i=1,j=1
* 此时i=1,j=2
* 此时i=2,j=1
* 此时i=2,j=2
* 此时i=3,j=1
* 此时i=3,j=2
* 此时i=4,j=1
* 此时i=4,j=2
* 循环结束
**/

break outer

public class BreakTest {
	public static void main(String[] args) {
		outer:
		for (int i = 0; i < 5; i++) {
			for (int j = 1; j < 5; j++) {
				System.out.println("此时i="+i+",j="+j);
				if (j == 2) {
					break outer;
				}
			}
		}
		System.out.println("循环结束");
	}
}
/**
* 输出
* 此时i=0,j=1
* 此时i=0,j=2
* 循环结束
**/

使用continue结束循环

与break不同的是, continue只是忽略本次循环的剩余语句,直接开始下一次循环,而不会完全终止该循环,而break是完全终止循环本身。

同样的是,也可continue outer方式结束循环,outer标签需在某一循环之前定义,它将会忽略outer中所指定的循环中本次循环所剩下的语句,但不会影响下次循环。

例:
continue

public class BreakTest {
	public static void main(String[] args) {
		for (int i = 0; i < 3; i++) {
			for (int j = 1; j < 4; j++) {
				System.out.println("此时i="+i+",j="+j);
				if (j == 2) {
					continue;
				}
				System.out.println("内层循环第"+j+"次完整执行");
			}
			System.out.println("外层循环第"+(i+1)+"次完整执行");
		}
	}
}
/*
此时i=0,j=1
内层循环第1次完整执行
此时i=0,j=2
此时i=0,j=3
内层循环第3次完整执行
外层循环第1次完整执行
此时i=1,j=1
内层循环第1次完整执行
此时i=1,j=2
此时i=1,j=3
内层循环第3次完整执行
外层循环第2次完整执行
此时i=2,j=1
内层循环第1次完整执行
此时i=2,j=2
此时i=2,j=3
内层循环第3次完整执行
外层循环第3次完整执行
*/

continue outer

public class BreakTest {
	public static void main(String[] args) {
		outer:
		for (int i = 0; i < 3; i++) {
			for (int j = 1; j < 4; j++) {
				System.out.println("此时i="+i+",j="+j);
				if (j == 2) {
					continue outer;
				}
				System.out.println("内层循环第"+j+"次完整执行");
			}
			System.out.println("外层循环第"+(i+1)+"次完整执行");
		}
	}
}
/*
此时i=0,j=1
内层循环第1次完整执行
此时i=0,j=2
此时i=1,j=1
内层循环第1次完整执行
此时i=1,j=2
此时i=2,j=1
内层循环第1次完整执行
此时i=2,j=2
*/

使用return结束方法

与break和continue不同的是,return将直接结束整个方法。不管return处于多少层循环之内,他都将完全结束该方法。

例:

public class BreakTest {
	public static void main(String[] args) {
		for (int i = 0; i < 3; i++) {
			System.out.println("第一层循环执行"+(i+1)+"次");
			for (int j = 0; j < 3; j++) {
				System.out.println("第二层循环执行"+(j+1)+"次");
				for (int t = 0; t < 3; t++) {
					System.out.println("第三层循环执行"+(t+1)+"次");
					for (int k = 0; k < 3; k++) {
						System.out.println("第四层循环执行"+(k+1)+"次");
						return;
					}
				}
			}
		}
	}
}
/*
第一层循环执行1次
第二层循环执行1次
第三层循环执行1次
第四层循环执行1次
*/
  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值