当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

<b>Java中跳出多层循环的简单办法</b>[Java编程]

赞助商链接



  本文“<b>Java中跳出多层循环的简单办法</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

    在Java程序中大概利用多层循环来处理复杂的逻辑.但假如要从最内层循环跳出最外层循环是对比麻烦.下面的代码是一个三层循环的例子:

String[]arr=newString[]{"a","b","c"};
for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.println(sss);
}
} 
}

    假如要从第三层循环跳出第一层循环,可以通过设置标志的办法来实现,但这对比麻烦.当然,若何利用过C或C++的开辟人员可以想到利用goto语句,以下面的代码所示:

String[]arr=newString[]{"a","b","c"};
 
for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.println(sss);
goto label;
}
} 
}
label:

    固然上面的代码看似可行,不过Java固然还有goto关键字,但这个关键字却不能利用(Java编译器会抛出非常).不过Java还供应了别的一种近似goto的办理筹划,这就是break n和continue n.此中n表示标签名.只是在Java中只能在for、while、do...while三种循环语句前面定义,标签与循环体之间不能有任何其他的语句,以下面的标签订义是合理的:

label: //定义标签
for(inti=0;i<10;i++)
{
... ...
}

    下面的标签订义是不合理的:

label: //定义标签
System.out.println("abcd"); //此处不能有任何Java语句
for(inti=0;i<10;i++)
{
... ...
}

    利用break n跳出多层循环的代码以下:

labelA:
for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
breaklabelA;
}
} 
}

    上面的代码只输出了一个a,在第三层利用break labelA可以理解为以下的代码情势(固然这段代码并不符合Java语法法则):

for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
gotolabelA;
}
} 
}
labelA:

    当然,还可以利用continue labelA持续履行某一层的循环,代码以下:

labelA:
for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
continuelabelA;
}
} 
}

    上面的代码输出"aaa",读者可以将上面的代码理解为以下的情势(只是代码情势,并不符合Java语法法则):

for(Strings:arr)
{
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
gotolabelA;
}
} 
labelA:
}

    当然,也可以按一样的办法跳出或持续第二层循环,代码以下:

for(Strings:arr)
{
labelA:
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
breaklabelA;
}
} 
}

    上面的代码输出"aaa".

for(Strings:arr)
{
labelA:
for(Stringss:arr)
{
for(Stringsss:arr)
{
System.out.print(sss);
continuelabelA;
}
} 
}

    上面的代码输出"aaaaaaaaa".


  以上是“<b>Java中跳出多层循环的简单办法</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .