如何在多层循环中跳出循环呢详解编程语言

C语言里有goto可以进行任意跳转,可是不论是在C还是在JAVA中goto都是不被提倡的,C语言有时候必须用goto来跳出外层循环,但是java中可以使用标号和break搭配进行外层循环跳出。这种标号在for、while、do..while都可以使用。

在for中进行使用:

                outer:for(int i=1;i<5;i++) 
		{ 
			inner:for(int j=1;j<6;j++) 
			{ 
				System.out.println("i="+i); 
				break outer; 
			} 
		}//在for关键字前面设置标号,break后面跟着哪个标号就会跳出哪层循环,这里面break后面什么都不加则是默认跳出最内层循环

在while中进行使用

whilejump: while(x<=5) 
		{ 
			System.out.println("x="+x); 
			x++; 
			System.out.println("x="+x); 
			break whilejump; 
		}

在do..while中进行使用:

dojump:do 
		{ 
			System.out.println("y="+y); 
			y++; 
			System.out.println(y); 
			break dojump; 
		} 
		while(y<5);

其中的标号都需要放在关键字的前面。

除了用标号,我还发现其他程序员朋友有用变量的作用域特性进行外层循环跳转,例如以下两个语句:

for (int i = 0; i < 10; i++) { 
			boolean flag = false; 
			System.out.println("外部部===========" + i); 
			for (int j = 0; j < 5; j++) { 
				System.out.println("内部===========" + j); 
				if (j == 3) { 
					flag = true; 
					break; 
				} 
			} 
			if (flag) { 
				break; 
			} 
		}

for (int i = 0; i < 4; i++) { 
			for (int j = 0; j < 4; j++) { 
				System.out.println(i + "||" + j); 
				if (i == 2 && j == 2) { 
					j = 5; 
					i = 5; 
				} 
			} 
		}

1、一般的break会中断并跳出当前循环

2、带标签的break会中断并跳出标签所指的循环

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/17708.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论