跳跃Java一些周期,双跳FOR周期
今天写的代码写在一个双层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周期的更多相关文章
- 第24章 java线程(3)-线程的生命周期
java线程(3)-线程的生命周期 1.两种生命周期流转图 ** 生命周期:**一个事物冲从出生的那一刻开始到最终死亡中间的过程 在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态 ...
- java 静态变量生命周期(类生命周期)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...
- java多线程(2)---生命周期、线程通讯
java生命周期.线程通讯 一.生命周期 有关线程生命周期就要看下面这张图,围绕这张图讲解它的方法的含义,和不同方法间的区别. 1.yield()方法 yield()让当前正在运行的线程回到就绪 ...
- java 静态变量生命周期(类生命周期)(转)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...
- Java多线程之线程的生命周期
Java多线程之线程的生命周期 一.前言 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态.在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(R ...
- Webdriver+Java实现使用cookie跳过登录
Webdriver+Java实现使用cookie跳过登录 Webdriver模拟登录过程中很有可能遇到验证码,最近认真学习了下如何使用cookie直接跳过登录过程. 一.cookie的定义 来源百 ...
- 【PMP】项目生命周期和开发生命周期
一.定义 项目生命周期:指项目从启动到完成所经历的一系列阶段. 开发生命周期:项目生命周期内通常有一个或多个阶段与产品.服务或成果的开发相关,这些阶段称为开发生命周期. 二.生命周期 预测型生命周期( ...
- java :: Java中的双冒号操作符
java中的双冒号操作符 定义 双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion. 通常的情况下: 把 x -& ...
- 微信APP生命周期、页面生命周期
目录 小程序的启动流程 app生命周期 页面的生命周期 页面的生命周期(图) 小程序的启动流程 我们画一个图来表示一下,整个小程序的启动流程,我们就知道了: app生命周期 执行App()函数也就是注 ...
随机推荐
- Thread Dump 和Java应用诊断(转)
Thread Dump 和Java应用诊断 Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力.虽然各 ...
- bestcoder Round#52 1001(最短路+状压dp)
求从1点出发,走遍所有的点,然后回到1点的最小代价. 每个点可以走若干遍. 如果每个点只能走一遍,那么设dp[i][s]为走完s状态个点(s是状态压缩),现在位于i的最小花费. 然后枚举从哪个点回到原 ...
- C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装
原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...
- ubuntu 系统设置bugzilla制
随着时间的推移.在大脑中形成的记忆总会慢慢的淡去.人的记忆力就是这样.所以最好的办法就是形成博客去记录下来,一方面给自己以后回想用.一方面也算是自己的一个积累.所以一旦选择了一个行业,最好不要轻 易转 ...
- SharePoint发展 - 使用Session(代码更改webconfig)
博客地址 http://blog.csdn.net/foxdave SharePoint启用Session能够使用Powershell,戳这里:能够改动webconfig. 本篇叙述的重点是通过fea ...
- Test SRM Level Two: CountExpressions, Brute Force
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=8157 这道题目跟扑克牌算24的题目比较像,但要简单一些.点击查 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- as3文本框的动态拖拽和编辑
如今非常多软件都支持了编辑界面的文本拖拽和点击编辑来直接改动数值, 这样便于操作, 并且体验性也好, 抛砖引玉吧 于是就用好久没编写的as3来写了一下: 由于用的flash ide写的没有提示, 就临 ...
- Linux在高铁项目的部署环境
因为Linux和Java像开源.所以,现在在server基本上使用部署Linux平台即server.然后部署项目.在开发项目的过程中.程序员绝大多数仍采用最经典windows操作系统,尽管Linux也 ...
- 举例说,在命令模式(Command Pattern)
在前面加上 谈到命令,大部分的人脑海中会想到以下这幅画面 这在现实生活中是一副讽刺漫画,做决定的人不清楚运行决定的人有何特点,瞎指挥.外行领导内行说的就是这样的.只是在软件设计领域,我们显然要为这 ...