概述
今天写代码写了个双层的for循环,里面还是用来Iterator,大致意思就是在第二个循环中如果符合条件就给跳出整个双层循环。
刚开始,直接使用break。巴拉巴拉的敲了一堆代码,信心满满的就直接运行。等到结果一看,这不是要我要的。哎··看来不扎实呀!
突然来了兴趣,索性就看看一些资料,总结了几种跳出循环的方式:
1、直接跳出循环:
for (int i = 0; i < 10; i ++) {
if(i == 4) {
break;
}
System.out.println(i);
}
System.out.println("================");
for(int i = 0; i < 20; i ++) {
for(int j = 20; j > 0; j --) {
System.out.println("i = " + i + ", j=" + j);
if (j == i) {
break;
}
}
}
System.out.println("=================");
这是属于常规性的循环与跳出,一般使用break可以搞定。但是遇到稍微复杂点的双重循环,就不一定如我们所想了。
例如下面的代码:
<span style="white-space:pre"> </span>for (Map map : listMap) {
for (Iterator it = map.keySet().iterator(); it.hasNext();) {
String key = (String) it.next();
Object value = map.get(key);
System.out.println("第 " + count + "个Map的键值对是:Key=" + key + ",Value=" + value.toString());
if (key.equals("4")) {
System.out.println("跳出循环");
break;
}
}
}
遇到这样的循环,估计简单的break就没用了。那么,使用下面的标记推出就可以实现。
2、利用 标记跳出循环
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
loop : for (Map map : listMap) {
for (Iterator it = map.keySet().iterator(); it.hasNext();) {
String key = (String) it.next();
Object value = map.get(key);
System.out.println("第 " + count + "个Map的键值对是:Key=" + key + ",Value=" + value.toString());
if (key.equals("4")) {
System.out.println("跳出循环");
<strong style="background-color: rgb(255, 255, 255);"><span style="color:#ff6666;">break loop;</span></strong>
}
}
}
这种方式可以很好的实现推出双重循环,但是这是f oreach的方法。
假如是for(int i =0; i< 100; i ++)这样的循环,今天在晚上看到另外一种针对双层循环推出的方法。个人觉得很有意思。
3、将循环数做下变动(网友提供的,很有意思)
<span style="white-space:pre"> </span>for (int i = 0; i < listMap.size(); i ++;) {
Map<String, Object> map = listMap.get(i);
for (Iterator it = map.keySet().iterator(); it.hasNext();) {
String key = (String) it.next();
Object value = map.get(key);
System.out.println("第 " + count + "个Map的键值对是:Key=" + key + ",Value=" + value.toString());
if (key.equals("4")) {
System.out.println("跳出循环");
<span style="color:#ff6666;"><strong>i = listMap.size();</strong></span>
}
}
}
注意到这种巧妙之处了吧!个人感觉很有新意之处。不过,由于写的比较急,可能其他不当之处没考虑到。
如果有其他方式,欢迎提出!问题之处,欢迎各位指正!
最后
以上就是烂漫火为你收集整理的跳出Java当中的一些循环,跳出双层FOR循环的全部内容,希望文章能够帮你解决跳出Java当中的一些循环,跳出双层FOR循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复