首页 | 网页设计 | w3c标准 | flash动画 | 平面设计 | 经典文章 | 特约专题 | 资源下载 | 健康频道 | 重庆品牌网站 | 留言簿 | 
技术文章  资源下载 经典素材  社区论坛
   
 您现在的位置: vi设计在线 >> 经典文章 >> ccqvi动态 >> 技术应用 >> 正文  
  最新IT信息-Java程序中使用多层循环用来处理复杂的逻辑         
[ 作者:佚名    转贴自:本站原创    点击数:1853    更新时间:2010/7/12    文章录入:diyinetwork ]

减小字体 增大字体

Java程序中使用多层循环用来处理复杂的逻辑

重庆帝一网络建设专家 http://www.diy88.com.cn

在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”。

 上一篇文章: 最新IT信息-用于数据库和网络中取出中文乱码的处理函数
 下一篇文章: 最新IT信息-后移动时代的Web设计 推动浏览器技术的革新 (1)
发表评论】【告诉好友】【打印此文】【关闭窗口


技术文章  资源下载
经典素材  社区论坛
 中大型美容美发店老…[999]
 重庆多达学习俄语培…[2200]
 重庆恒祥广告有限公…[1931]
 重庆市南方阻燃电线…[2342]
 重庆舞美灯光音响有…[3085]
 重庆德鼎滤油机有限…[1868]
 重庆民生建材有限公…[2316]
 重庆集元科技有限公…[4097]
 重庆倍润商贸有限公…[1986]
 重庆腾达展览有限公…[3055]
 帝一网络创始人宣…--[3122]
 重庆vi设计在线祝…--[2712]
 重庆帝一网络书生…--[2829]
 馋嘴鸭的起伏和经…--[2968]
 机器感觉“卡”的…--[2895]
 ActionScript3打造…--[5652]
 在ASP文件中读取H…--[7210]
 vi设计经典案例--[63567]
 帅到掉渣-爆笑版勇…--[7022]
 一个女孩写的经典…--[6788]
没有相关文章
 (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    没有任何评论
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 重庆网站建设 | 
版权所有: vi设计在线  © 2005-2018 网站备案序号:渝ICP备06003824号
技术支持:帝一网络(重庆网站建设专家)