使用标签代替goto关键字
2024-08-26 10:24:25
众所周知,java中没有goto语句,但是保留了goto这个关键字。由于goto是在源码级上的跳转,多次使用goto会引起代码混乱容易出错,这也是java取消goto语句的目的所在,但是goto语句也有它的优点,在少数情况下goto还是组织控制流程的最佳手段。在java中虽然没有goto,但是我们可以用标签结合关键字(break,continue)来实现goto的功能。代码如下:
package demo;
public class LabeledFor {
public static void main(String[] args) {
int i = 0;
outer:
for(;true;){
inner:
for(; i < 10 ; i++){
System.out.println("i = " + i);
if(i == 2){
System.out.println("continue");
continue; //结束当前循环
}
if(i == 3){
System.out.println("break");
i++;
break; //强制退出循环
}
if(i == 7){
System.out.println("continue outer");
i++;
continue outer; //结束当前循环并回到标签outer处重新执行代码
}
if(i == 8){
System.out.println("break outer");
break outer; //结束循环并回到标签outer处执行循环之外的代码
}
for(int k = 0;k < 5; k++){
if(k == 3){
System.out.println("continue inner");
continue inner; //结束当前循环并回到标签inner处重新执行代码
}
}
}
} System.out.println("break outer 跳出外部循环执行剩下的代码");
return;//结束return可以结束代码,可以体现更好的效果,这里就不演示了
}
}
打印结果:
i = 0
continue inner
i = 1
continue inner
i = 2
continue
i = 3
break
i = 4
continue inner
i = 5
continue inner
i = 6
continue inner
i = 7
continue outer
i = 8
break outer
同样的规则也适用while循环
最新文章
- JSONP是如何工作的
- JDBC的使用(一):引用外部jar;代码链接数据库
- Flex 布局
- flash builder (fb) 与flash professional cs6(fla) 联合调试
- MyArrayAdapter 比较标准的写法
- zepto源码--核心方法9(管理包装集)--学习笔记
- Android多线程研究(1)——线程基础及源代码剖析
- 使用AFNetworking 报错提示
- 什么是LED锡膏?
- ecshop后台添加栏目
- Linux下安装Oracle11g服务器(转)
- PAT 天梯赛 L2-002 链表去重
- apache负载调优
- java画按钮的边框
- 20个最常用的Windows命令行
- linux 下安装 redis
- IntelliJ IDEA 安装 Scala 插件
- [转]C# 安装布署
- Android 开发工具类 15_ MyAsyncTask
- 遇到问题----gradle-----myeclipse的gradle插件导入项目报错nsupported major.minor version 51.0
热门文章
- 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?
- git是一种思路,解决问题的算法
- <;2013 08 17>; BucketList of girlfriend
- python系列十:python3函数
- 使你的C/C++代码支持Unicode(CRT字符串处理的所有API列表,甚至有WEOF字符存在)
- 通过配置rinetd来实现ECS跳转访问非外网连接的mongodb
- MySQL中一致性非锁定读
- 斯坦福大学Andrew Ng - 机器学习笔记(6) -- 聚类 &; 降维
- JavaScript四则运算计算器
- 20171104 DOI Excel 导出