今天写的代码写在一个双层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> }
}
}

这样的方式能够非常好的实现推出双重循环。可是这是foreach的方法。

假如是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周期的更多相关文章

  1. 第24章 java线程(3)-线程的生命周期

    java线程(3)-线程的生命周期 1.两种生命周期流转图 ** 生命周期:**一个事物冲从出生的那一刻开始到最终死亡中间的过程 在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态 ...

  2. java 静态变量生命周期(类生命周期)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  3. java多线程(2)---生命周期、线程通讯

    java生命周期.线程通讯 一.生命周期 有关线程生命周期就要看下面这张图,围绕这张图讲解它的方法的含义,和不同方法间的区别.    1.yield()方法 yield()让当前正在运行的线程回到就绪 ...

  4. java 静态变量生命周期(类生命周期)(转)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  5. Java多线程之线程的生命周期

    Java多线程之线程的生命周期 一.前言 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态.在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(R ...

  6. Webdriver+Java实现使用cookie跳过登录

    Webdriver+Java实现使用cookie跳过登录   Webdriver模拟登录过程中很有可能遇到验证码,最近认真学习了下如何使用cookie直接跳过登录过程. 一.cookie的定义 来源百 ...

  7. 【PMP】项目生命周期和开发生命周期

    一.定义 项目生命周期:指项目从启动到完成所经历的一系列阶段. 开发生命周期:项目生命周期内通常有一个或多个阶段与产品.服务或成果的开发相关,这些阶段称为开发生命周期. 二.生命周期 预测型生命周期( ...

  8. java :: Java中的双冒号操作符

    java中的双冒号操作符 定义 双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion. 通常的情况下: 把 x -& ...

  9. 微信APP生命周期、页面生命周期

    目录 小程序的启动流程 app生命周期 页面的生命周期 页面的生命周期(图) 小程序的启动流程 我们画一个图来表示一下,整个小程序的启动流程,我们就知道了: app生命周期 执行App()函数也就是注 ...

随机推荐

  1. SQL参数化查询的问题

    最近碰到个问题, SQL语句中的 "... like '%@strKeyword%'"这样写查不出结果, 非的写成 "... like '%" + strKey ...

  2. struts2集成fckeditor(来自大型门户网站是这样练成的一书)

  3. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  4. 集合中Set_List必须覆盖 hashCode()与 equals()

    集合中Set_List必须覆盖 hashCode()与 equals() @Override public int hashCode() { System.out.println("==== ...

  5. SQL Server无法连接到(local)问题的解决的方法

    今天在使用数据库的时候突然发现,SQL Server08竟然连接不上了.问题如图所看到的: 于是在网上搜索了一下这个问题,发现有非常多相似的提问,既然这个问题不是少数人遇到,看来这个问题还是值得研究一 ...

  6. NET MVC异常处理模块

    一个简单的ASP.NET MVC异常处理模块   一.前言 异常处理是每个系统必不可少的一个重要部分,它可以让我们的程序在发生错误时友好地提示.记录错误信息,更重要的是不破坏正常的数据和影响系统运行. ...

  7. Unity--关于优化方面的那些事儿(一)

    近期做一个小项目,要求包的大小不能超过30M. 晚上做了个小实验,方法的确非常本,只是曾经非常多没懂的地方如今清晰了很多,我是菜鸟!希望本文章对大家有帮助,谢谢! 实验结果: 实验结果: 1.场景中仅 ...

  8. Unity3D之Vector3.Dot和Vector3.Cross采用

    在Unity3D中.Vector3.Dot表示求两个向量的点积;Vector3.Cross表示求两个向量的叉积.   点积计算的结果为数值,而叉积计算的结果为向量.两者要注意差别开来.   在几何数学 ...

  9. 记View跨界平局

    <?xml version="1.0" encoding="utf-8"? > <RelativeLayout xmlns:android=& ...

  10. 如何将IPhone应用软件发布到App Store的

    转自:http://www.shtion.com/667.html 怎样将IPhone应用程序软件公布到应用程序商店? 2009年10月19日公布 分类: App store, iphone, 手机应 ...