Java编程思想之四控制执行流程
程序必须再执行过程中控制它的世界,并做出选择。在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编程思想之四控制执行流程的更多相关文章
- 《Java基础复习》-控制执行流程
最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...
- 《Java编程思想》学习笔记(二)——类加载及执行顺序
<Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfIniti ...
- java控制执行流程
控制执行流程 欢迎转载,转载烦请注明出处,谢谢. https://www.cnblogs.com/sx-wuyj/p/11177257.html java当中涉及到的关键字包括if-else.whil ...
- Java编程思想(前十章)
Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...
- 《Java编程思想第四版完整中文高清版.pdf》-笔记
D.2.1 安插自己的测试代码 插入下述“显式”计时代码,对程序进行评测: long start = System.currentTimeMillis(); // 要计时的运算代码放在这儿 long ...
- 《Java编程思想》阅读笔记一
Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...
- 24.JAVA编程思想——违例差错控制
24.JAVA编程思想--违例差错控制 Java 的基本原理就是"形式错误的代码不会执行". 与C++类似,捕获错误最理想的是在编译期间,最好在试图执行程序曾经.然而.并不是全部错 ...
- Java编程思想(第4版) 中文清晰PDF完整版
Java编程思想(第4版) 中文清晰PDF完整版 [日期:2014-08-11] 来源:Linux社区 作者:Linux [字体:大 中 小] <Java编程思想>这本书赢得了全 ...
- Java编程思想 第21章 并发
这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_tim ...
随机推荐
- 26、router.beforeEach路由拦截
为了防止用户未登录直接修改路径来访问页面,解决办法: 在main.js文件中加入以下代码: // 路由拦截 router.beforeEach((to, from, next) => { if ...
- Nginx配置多域名代理
目的 当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip.这种情况下,我们就可以使用一个Nginx来配置多域名代理.这种代理方式可以解决,在同一个端口上针对不同域名代理不 ...
- mybatis 批量添加数据的两种实现方式
做开发的这几年期间经常遇到类似处理这种形式数据的问题,也遇到很多刚刚入行的新同学,发现他们做处理这块,经验不够,今天特地整理了一下,大家都会遇到的几种情况,代码也都粘贴出来了,拿去不谢,有时间大家还是 ...
- 一、MySQL基础知识
一.背景介绍 我们每天都在访问各种网站.APP,如微信.QQ.抖音,今日头条等,这些东西上面都存在大量的信息,这些信息都需要有地方存储,存储在哪里呢?数据库. 所有我们需要开发一个网站.APP,数据库 ...
- 在现有的mysql主从基础上,搭建mycat实现数据的读写分离
环境准备:MySQL服务器做好主从复制:centos6的系统 主:192.168.164.131 从:192.168.164.144 mycat服务器:192.168.164.141 a.将MySQL ...
- BBS之文章详情页搭建
博客评论相关 博客文章详情页搭建 {% extends 'base.html' %} {% block css %} <style> #div_digg { float: right; m ...
- 【Spring Cloud】Spring Cloud之Zipkin server搭建以及HTTP收集,分布式服务跟踪(2)
一.搭建步骤 1)新建Spring Boot项目,引入pom坐标 <parent> <groupId>org.springframework.boot</groupId& ...
- 【RabbitMQ】RabbitMQ的安装以及基本概念的介绍
一.如何安装 https://www.cnblogs.com/756623607-zhang/p/11469962.html 二.基本概念介绍 ·Broker:可以理解为消息队列服务器的实体,它是一个 ...
- 黄金矿工(LeetCode Medium难度)1129题 题解(DFS)
题目描述: 给定一个二维网络,给定任意起点与终点.每一步可以往4个方向走.要找出黄金最多的一条线路. 很明显的是要“一条路走到黑,一直下去直到某个条件停止”. 运用dfs(深度优先搜索)求解. 因为起 ...
- mysql 的 docker image 使用(官方文档节选)
1.创建一个 mysql 实例: $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 2.创 ...