Java中break、continue及标签等跳转语句的使用[上]
java 中跳转语句使用break、continue和标签,各自或组合完成相应的功能。
今天做题时遇到关于标签命名规范,顺便将跳转语句语法都看了一遍,很有收获。
在《Java编程思想》一书中,作者详细阐述,现将案例代码写在下面:
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++; //otherwise i never gets incremented
break;
}
if(i==7){
System.out.println("continue outer");
i++; //otherwise i never gets incremented
continue outer;
}
if(i==8){
System.out.println("break outer");
break outer;
}
for(int k=0;k<5;k++){
if(k==3){
System.out.println("continue inner");
continue inner;
}
}
}
}
}
}
运行结果见下图:
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
自认为比较重要的一点是,break中断for循环,而且是在抵达for循环的末尾之前,也就是说,递增表达式将不会执行。continue确不会跳过递增语句。
同样的,这个例子中,当i==7的情况下,continue outer语句会跳到循环顶部,而且也会跳过递增。
如果没有break outer,就没有办法从内部循环里跳出外部循环。这是由于break本身只能中断最内层的循环(continue同样如此)。
如果想中断同时退出,简单地用一个return即可。
Java中break、continue及标签等跳转语句的使用[上]的更多相关文章
- Java中break、continue及标签等跳转语句的使用[下]
作为上一篇使用for循环演示的跳转,这一篇将使用while.相比较来说,while比for循环更简单.代码如下: public class LabeledWhile { public static v ...
- Java中 break continue return 的区别
1.break break :跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环: ; i < ; i++) { ) { break; // 在执行 ...
- java中break和continue跳出指定循环(转载)
java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...
- Java中关键字continue、break和return的区别
Java中关键字continue.break和return的区别: continue:跳出本次循环继续下一次循环 break: 跳出循环体,继续执行循环外的函数体 return: 跳出整个函数 ...
- java中break、continue、return作用
java中break.continue.return作用 0.首先要明确:break和continue是作用对象是循环体:而return的作用对象是方法 break:在执行完本次循环后,跳出所在的循环 ...
- java中break,continue,标签实现goto效果(编程思想)
goto 编程语言中一开始就有goto关键词了.事实上,goto起源于汇编语言的程序控制:“若条件A成立,则调到这里:否则跳到那里”. goto语句时在源码级别上的跳转,这导致了其不好的名誉.于是go ...
- Java中break和continue跳出指定循环
https://www.cnblogs.com/miys/p/b7f6a463bc58785d74a8a7fccd1f1243.html 在Java中,break和continue可以跳出指定循环,在 ...
- Java 中 break和 continue 的使用方法及区别
break break可用于循环和switch...case...语句中. 用于switch...case中: 执行完满足case条件的内容内后结束switch,不执行下面的语句. eg: publi ...
- Java中break、continue和return三者之间的区别
控制流程语句 java关键字break.continue.return主要按三个纬度去区分. 作用不同 结束不同 紧跟不同 一.作用不同 1.break:执行break操作,跳出所在的当前整个循环, ...
随机推荐
- EF中三大开发模式之DB First,Model First,Code First以及在Production Environment中的抉择
一:ef中的三种开发方式 1. db first... db放在第一位,在我们开发之前必须要有完整的database,实际开发中用到最多的... <1> DBset集合的单复数... db ...
- MVC4 Action 两种异步方式
1. xxxAsync/xxxCompleted 组合方式异步,xxxCompleted 就是他的回调函数,在执行完 xxxAsync 后调用xxxCompleted . 使用 异步方式必须继承A ...
- Web界面设计(Designing Web Interfaces中文版) (美)斯科特 pdf扫描版
Web界面设计是由Bill Scott编著.电子工业出版社出版的一部图书,在Web已经进入崭新的时代的今天,界面的设计显得非常重要,本书就是基于独一无二的Web环境下.在创建丰富体验的过程中设计Web ...
- Conditional Expressions
Conditional Expressions建立一些逻辑关系 The conditional expression classes from django.db import models clas ...
- FPN(feature pyramid networks)
多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征语义信息比较少,但是目标位置准确:高层的特征语义信息比较丰富,但是目标位置比较粗略.另外虽然也有些算法采用多尺度 ...
- 非固定参数:*args和 **kwargs
先看一个固定参数栗子: def func1(x, args): print(x, args) func1(1,22) ====================1 22 ================ ...
- pandas set_index() reset_index()
set_index() 官方定义: 使用一个或多个现有列设置索引, 默认情况下生成一个新对象 DataFrame.set_index(keys, drop=True, append=False, ...
- javascript对比两个数组,打印出差异值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- “全栈2019”Java第十三章:基本数据类型
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十二章:变量
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...