Java跳出双层for循环

例1:跳出单层循环
@Test
	public void test1() {
		for (int i = 0; i < 5; i++) {
			if (i == 2) {
				break;
			} else {
				System.out.println("i=" + i);
			}
		}
	}

执行结果:
i=0
i=1
例2:跳过单层当次循环
@Test
	public void test2() {
		for (int i = 0; i < 5; i++) {
			if (i == 2) {
				continue;
			} else {
				System.out.println("i=" + i);
			}
		}
	}
执行结果:
i=0
i=1
i=3
i=4

例3:跳出双层的内部当次循环
@Test
	public void test3() {
		for (int i = 1; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (i == 2) {
					break;
				} else {
					System.out.println("i=" + i + " ;j=" + j);
				}

			}
		}
	}

执行结果:
i=1 ;j=0
i=1 ;j=1
i=1 ;j=2
i=1 ;j=3
i=3 ;j=0
i=3 ;j=1
i=3 ;j=2
i=3 ;j=3
例4:跳出整个双层循环
@Test
	public void test4() {
		flag: for (int i = 1; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (i == 2) {
					break flag;
				} else {
					System.out.println("i=" + i + " ;j=" + j);
				}
			}
		}
	}

执行结果:
i=1 ;j=0
i=1 ;j=1
i=1 ;j=2
i=1 ;j=3

例5:跳出整个双层循环[与例4作用同,但推荐这种写法]
@Test
	public void test5() {
		boolean flag = false;
		for (int i = 1; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if(i==2) {
					flag = true;
				}else {
					System.out.println("i=" + i + " ;j=" + j);
				}
			}
			if (flag) {
				break;
			}
		}
	}

执行结果:
i=1 ;j=0
i=1 ;j=1
i=1 ;j=2
i=1 ;j=3

例6:跳出内部当次继续执行
@Test
	public void test6() {
		boolean flag = false;
		for (int i = 1; i < 5; i++) {
			for (int j = 0; j < 5; j++) {
				if(i==2) {
					flag = true;
					break;// 跳出循环
				}else {
					System.out.println("i=" + i + " ;j=" + j);
				}
			}
			if (flag) {
				System.out.println("i="+i+"此段代码将不执行");
				flag = false;
				continue;
			}
			
		}
	}

执行结果:
i=1 ;j=0
i=1 ;j=1
i=1 ;j=2
i=1 ;j=3
i=1 ;j=4
i=2此段代码将不执行
i=3 ;j=0
i=3 ;j=1
i=3 ;j=2
i=3 ;j=3
i=3 ;j=4
i=4 ;j=0
i=4 ;j=1
i=4 ;j=2
i=4 ;j=3
i=4 ;j=4

猜你喜欢

转载自blog.csdn.net/tangmingxin0529/article/details/80037246