今天写的代码写在一个双层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. 流动python - 一个极简主义event制

    event至少该系统的核心,以满足: 1.存储容器事件,可以被添加到事件来删除 2.触发事件fire 守则. class Event(list): def __call__(self, *args, ...

  2. hdu 4857 逃生 拓扑排序+PQ,剥层分析

    pid=4857">hdu4857 逃生 题目是求拓扑排序,但不是依照字典序最小输出,而是要使较小的数排在最前面. 一開始的错误思路:给每一个点确定一个优先级(该点所能到达的最小的点) ...

  3. Bulk Insert Data

    Bulk Insert Data 命名空间:Oracle.DataAccess.Client 组件:Oracle.DataAccess.dll(2.112.1.0) ODP.NET 版本:ODP.NE ...

  4. POJ3279 Catch That Cow(BFS)

    本文来源于:http://blog.csdn.net/svitter 意甲冠军:给你一个数字n, 一个数字k.分别代表主人的位置和奶牛的位置,主任能够移动的方案有x+1, x-1, 2*x.求主人找到 ...

  5. java.lang.OutOfMemoryError: Java heap space错误和方法(集、转)

    错误的方式来解决溢出下面的堆空间是从网上找: java.lang.OutOfMemoryError: Java heap space ================================= ...

  6. Route-map简介

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definiti ...

  7. Codeforces Round #248 (Div. 1)——Nanami&#39;s Digital Board

    题目连接 题意: 给n*m的0/1矩阵,q次操作,每次有两种:1)将x,y位置值翻转 2)计算以(x,y)为边界的矩形的面积最大值 (1 ≤ n, m, q ≤ 1000) 分析: 考虑以(x,y)为 ...

  8. LeetCode204:Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. 比计算少n中素数的个数. 素数又称 ...

  9. 《Java程序书面采访猿收藏》之 instanceof的作用是什么

    instanceof它是Java二元运算语言,它的作用是推断对象变量引用被指向的类型是一类(或接口.抽象类.父亲)示例.即,对象是否是它的一个实例离开它的类的权.返回boolean数据类型. 常见的使 ...

  10. Objective-C代码块语法(block)使用

    和其它变量本质上相似的代码块.所不同的是,数据存储代码块是主体的函数. 使用的代码块被,你可以像打电话一样等标准功能,传入参数的数量,并获得返回值. 插入符号(^)语法标记块.我们熟悉的参数按照规约定 ...