黑马程序员技术交流社区
标题:
在JAVA中多重嵌套循环问题
[打印本页]
作者:
李鑫
时间:
2012-5-27 07:39
标题:
在JAVA中多重嵌套循环问题
多重嵌套循环,总是循环出错,在JAVA中如何跳出当前的多重嵌套循环,请举个例说明一下
作者:
丰亚彬
时间:
2012-5-27 07:56
使用最多的是break语句,一个break跳出一层循环,给你举个例子吧,就是那个99口诀表吧
为了给你把效果演示出来我把循环条件给改了:
class Demo
{
public static void main(String[] args)
{
for(int x=1;x<100;x++)
{
if(x>9)
break; //跳出外层循环,程序结束
for(int y=1;y<100;y++)
{
if(y>9 || y>x)
break; //跳出里面的循环
System.out.print(y+"*"+x+"="+x*y+'\t');
}
System.out.println();
}
}
}
作者:
张亭
时间:
2012-5-27 08:40
用break/continue 加标号的方式,可跳出指定的循环
例如:
class Duocen {
public static void main(String[] args) {
A:for(int i=0;i<5;++i) {
for(int j=0;j<5;++j){
if(i==3)
break A;//当条件满足时,直接跳出外层for循环
System.out.println("i="+i+",j="+j);
}
}
System.out.println("over");
}
}
作者:
武剑峰
时间:
2012-5-27 09:07
本帖最后由 武剑峰 于 2012-5-27 09:11 编辑
本人在二、三楼的break/continue 基础上再补充一点,也可以利用return跳出所有的嵌套循环,但注意一点return之后就是一切都结束了。例如:
class jumploop {
public static void main(String[] args) {
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 5; ++j) {
if (j == 2) {
System.out.println("j==2成立跳出本次循环");
continue;
} else if (j == 4) {
System.out.println("j==4成立跳出内层循环");
break;// break 也可以跳出来指定的页标签循环处 "x:",break x;
}
if (i == 3) {
System.out.println("i==3成立跳出所有的嵌套循环");
return;
}
System.out.println("i=" + i + ",j=" + j);
}
}
System.out.println("over"); //此处不会执行——————————!!!注意
}
}
作者:
黄克帅
时间:
2012-5-27 13:30
本帖最后由 黄克帅 于 2012-5-27 13:35 编辑
return; 结束程序 break 结束当前循环 continue 结束本次循环 继续下次循环。
public class Test {
public static void main(String[] args) {
A: for (int i = 0; i < 5; i++) {
if (i == 3) {
return; // 条件满足 ,结束整个程序,后面的代码都不执行
}
System.out.println(i);
B: for (int j = 6; j < 10; j++) {
if (i % 3 == 0) {
break; //满足条件就结束整个B循环,跳到A循环继续执行,i++,
}
System.out.println(j);
C: for (int k = 11; k < 15; k++) {
if (k % 2 == 0) {
continue;//满足条件结束本次C循环,继续k++,继续执行下次C循环,若K<15不成立后,C循环结束,跳到外层B循环,j++
}
System.out.println(k);
}
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2