java跳出多重嵌套循环

在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这就让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。

我们可以这样解决:

我们可以在循环体开头设置一个标志位,也就是设置一个标记,然后使用带此标号的break语句跳出多重循环。

public class BreaklFor {
	public static void main(String args[]){
		OK:                    //设置一个标记 使用带此标记的break语句跳出多重循环体
		for(int i=1;i<100;i++){   //让i循环99次
			for(int j=1;j<=i;j++){
				if(i==10){
					break OK ;
				}
				System.out.print(i + "*" + j + "=" + i*j) ;
				System.out.print(" ") ;
			}
			System.out.println() ;
		}
	}
}

运行结果当然是打印九九乘法表。当i=10时跳出了循环。

当然还有另外一种方法,这也是设置一个boolean值的标记位,在for循环中使用判断是否继续循环来达到目的。

public class BreaklFor {
	public static void main(String args[]) {
		int array[][] = { { 5, 7, 6, 4, 9 }, { 1, 2, 8, 3, 2 } };
		boolean flag = false;
		for (int i = 0; i < array.length && !flag; i++) {  //当flag为true时跳出循环
			for (int j = 0; j < array[i].length; j++) {
				if (array[i][j] == 8) {
					flag = true;
					break;
				}
			}
		}
		System.out.println(flag);
	}
}
通过设置标志位,实现里成的代码控制外层的的循环条件。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值