程序必须再执行过程中控制它的世界,并做出选择。在Java中,你要使用执行控制语句来做出选择。

4.1true和false

所有条件语句都利用条件表达式的真或假来决定执行路径。

Java不允许使用数字作为布尔值来用

4.2 if-else

if-else语句是控制程序流程的最基本的形式。else是可选的。

4.3 迭代

while、do-while和for用来控制循环,有时将它们划分位迭代语句。语句会重复执行,知道控制作用的布尔表达式得到假结果。

4.3.1 do-while

while、do-while的唯一区别就是do-while至少会执行一次。

4.3.2 for

for循环可能是最经常使用的迭代形式,这种在第一次迭代之前要进行初始化。

for(初始化表达式;布尔表达式;步进)

4.3.3 逗号操作符

Java里唯一用到逗号操作符的地方就是for循环的控制表达式。在控制表达式的初始化和步进控制部分,可以使用一系列由逗号分隔的语句。而且这些语句会独立运行。

4.4 Foreach语法

Foreach不必创建int变量去对由访问项构成的序列进行计算,foreach将自动产生每一项。

4.5 return

两个用途:

  • 指定一个方法返回什么值
  • 它会导致当前方法退出

4.6 break和continue

在任何迭代语句主体部分,都可以用break和continue控制循环流程。

break用于强行退出循环,不执行剩下的语句。continue则停止执行当前的迭代,然后退出循环起始处,开始下一次迭代。

标签

Java中标签和goto机制类似

标签其作用的唯一地方就是刚好在迭代语句之前。"刚好之前"的意思是在便签和迭代之间置入任何语句都不好。而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关。这是由于break和continue通常中断当前循环,如果和标签一起使用,它们就是中断循环,直到标签的所在地方。

label1:
outer-itertion{
inner-iteration{
break://中断内部迭代,回到外部迭代
continue;//执行点移到内部迭代起始点
continue label1;//中断内部迭代和外部迭代,直接转到label1处,继续执行迭代
break label1;//中断所有迭代,回到label1处,并且不在进入迭代
}
}

Java里使用标签的唯一理由是因为有嵌套循环存在,而且想从多成嵌套中break或continue 。

4.8 switch

switch有时也被划分为选择语句,使用和C#里面一致。

需要注意一点,switch选择因子必须是int或char。如果是浮点或者字符串作为选择因子,那么swich语句里不会工作。

Java编程思想之四控制执行流程的更多相关文章

  1. 《Java基础复习》-控制执行流程

    最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...

  2. 《Java编程思想》学习笔记(二)——类加载及执行顺序

    <Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...

  3. java控制执行流程

    控制执行流程 欢迎转载,转载烦请注明出处,谢谢. https://www.cnblogs.com/sx-wuyj/p/11177257.html java当中涉及到的关键字包括if-else.whil ...

  4. Java编程思想(前十章)

    Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...

  5. 《Java编程思想第四版完整中文高清版.pdf》-笔记

    D.2.1 安插自己的测试代码 插入下述“显式”计时代码,对程序进行评测: long start = System.currentTimeMillis(); // 要计时的运算代码放在这儿 long ...

  6. 《Java编程思想》阅读笔记一

    Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...

  7. 24.JAVA编程思想——违例差错控制

    24.JAVA编程思想--违例差错控制 Java 的基本原理就是"形式错误的代码不会执行". 与C++类似,捕获错误最理想的是在编译期间,最好在试图执行程序曾经.然而.并不是全部错 ...

  8. Java编程思想(第4版) 中文清晰PDF完整版

    Java编程思想(第4版) 中文清晰PDF完整版 [日期:2014-08-11] 来源:Linux社区  作者:Linux [字体:大 中 小]     <Java编程思想>这本书赢得了全 ...

  9. Java编程思想 第21章 并发

    这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_tim ...

随机推荐

  1. 文件转base64处理或转换blob对象链接

    一.文件转base64,代码: axios({ method: 'get', url: apiPath.common.downloaddUrl, responseType: 'blob'}).then ...

  2. Android Studio 导入 Android 系统模块并编译和调试

    FAQ: AS导入系统模块源码,并且能够编译调试,正常查看java doc ???? Android AOSP基础(五)Android Studio调试系统源码的三种方式http://liuwangs ...

  3. 数据结构与算法16—平衡二叉(AVL)树

    我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2n,其各操作的时间复杂度O(log2n)同时也由此而决定.但是,在某些极端的情况下(如在 ...

  4. 为什么Audition CC2017扫描不了电音插件,你需要这个工具

    一时兴起,我也去下载并安装了Audition的音频后期处理软件,版本是cc2017.简单熟悉了对自己声音修理外,我还想添加一点电音的效果显得洋气一些.在网上下载并安装了warves tune后,发现A ...

  5. windows系统将Tomcat将控制台的日志重定向到日志文件

    1 . 修改startup.bat 将 56 行注释,加上一行: call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\ ...

  6. 微信小程序 子组件调用父组件方法

    原文连接   --->  https://blog.csdn.net/qq_40190624/article/details/87972265 组件 js:  var value = 123; ...

  7. JavaWeb项目前后端分离

    前戏   前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦, 并且前后端分离会为以后的大型分布式架构.弹性计算架构.微 ...

  8. Spring Cloud Config 知识点

    Spring Cloud Config项目是一个解决分布式系统的配置管理方案.它包含了Client和Server两个部分,server提供配置文件的存储.以接口的形式将配置文件的内容提供出去,clie ...

  9. CF472G Increase the Constraints

    Increase the Constraints 定义两个等长的01字符串的汉明距离为它们字符不同的对应位置的个数. 给你两个01串S,T,现在有q个询问,每次指定S,T中两个定长的子串询问它们的汉明 ...

  10. 前端性能----从输入URL开始到返回数据的中间经历过程

    这是一个古老的问题,即我们输入URL后按下回车到网页测呈现都发生了什么? 首先来看一张图: 表示了数据从源端到目的端的封装和拆解过程 预处理URL URL格式:  以http为例: http://ww ...