Java中结束循环的方法

**1、**使用break结束本层循环

使用 break 标签; 语句,结束外层循环

public static void main(String[] args){
		int i,j;
		outer:  //外层循环的标签
		for(i=0;i<3;i++) {
			for(j=0;j<4;j++) {
				System.out.println("当前的i值:"+i+",当前的j值:"+j);
				if(j==1) {
					break outer;  //结束外层循环
				}
			}
		}
	}

输出结果:当前的i值:0,当前的j值:0
当前的i值:0,当前的j值:1

如果不采用break outer; 而直接是break,则只会跳出本层循环,即j所控制的循环,而不会跳出i循环

public static void main(String[] args){
		int i,j;
		//outer:
		for(i=0;i<3;i++) {
			for(j=0;j<4;j++) {
				System.out.println("当前的i值:"+i+",当前的j值:"+j);
				if(j==1) {
					break;
				}
			}
		}
	}

输出结果:当前的i值:0,当前的j值:0
当前的i值:0,当前的j值:1
当前的i值:1,当前的j值:0
当前的i值:1,当前的j值:1
当前的i值:2,当前的j值:0
当前的i值:2,当前的j值:1

2、使用continue结束本次循环:忽略本次循环continue后的所有循环体内的语句,开始下一轮循环**

使用continue 标签;语句,忽略本次循环中标签所指定的循环体内的所有语句

public static void main(String[] args){
		int i,j;
		outer:
		for(i=0;i<3;i++) {
			for(j=0;j<4;j++) {
				System.out.println("当前的i值:"+i+",当前的j值:"+j);
				if(j==1) {
					continue outer; //跳出本次循环后的所有语句
				}
			}
		}
	}

输出结果:当前的i值:0,当前的j值:0
当前的i值:0,当前的j值:1
当前的i值:1,当前的j值:0
当前的i值:1,当前的j值:1
当前的i值:2,当前的j值:0
当前的i值:2,当前的j值:1

每进行一次外层循环时,当内层循环j==1时,都将直接结束本次外层循环后的所有语句,即j++在j=1后一直被忽略,得不到执行

public static void main(String[] args){
		int i;
		for(i=0;i<3;i++) {
			System.out.println("当前的i值:"+i);
			if(i==1) {
				continue; //忽略后面一个输出语句
			}
			System.out.println("continue后的语句");
		}
	}

输出结果:当前的i值:0
continue后的语句
当前的i值:1
当前的i值:2
continue后的语句

由于continue的存在,当i==1的时候,并未输出:continue后的语句 这句话。

3、使用return结束整个方法:在程序运行过程中,如果碰到return语句,则结束该整个方法

public static void main(String[] args){
		int i;
		for(i=0;i<3;i++) {
			System.out.println("当前的i值:"+i);
			if(i==1) {
				return;
			}
		}
		System.out.println("hello world");
	}

输出结果:当前的i值:0
当前的i值:1

在return处,结束了整个main方法,即使输出hello world的语句位于循环体外,也不会被执行

因此注意:return是结束了整个方法,无论这个return处于多少层循环之中,都将直接跳出整个循环,整个方法中的所有语句都将不会再执行。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐