重温经典《Thinking in java》第四版之第四章 控制执行流程(二十二)

简介: 重温经典《Thinking in java》第四版之第四章 控制执行流程(二十二)

我们有了上面几章的基础知识做铺垫,可以写出一些简单的运算程序了。但是程序在执行的过程中往往需要做大量的分支控制,来做出自己的选择;还需要不断重复地执行逻辑规则相似的代码,这就涉及到我们这一整章介绍的内容:控制执行流程。涉及到的关键字有if-else、while、do-while、for、return、break、continue、switch。

4.1 true和false所有条件语句都利用条件表达式的真或假来决定执行路径。这点可以认为是c/c++与java的一个区别,在c/c++中可以允许一个数字作为布尔值使用,在Java中不允许。希望学过c/c++转到学Java的时候特别注意一下。

4.2 if-else if-else语句就是控制程序流程的基本形式,其中else可以省略,形式如下:

if(Boolean-expression)

statement

if(Boolean-expression)

statement

else

statement

Boolean-expression为true就执行if里面的部分,否则就执行else的部分或者if外面的部分。用一个例子来感受一下:

importstaticnet.mindview.util.Print.*; 
publicclassIfElse { 
staticintresult=0; 
staticvoidtest(inttestval, inttarget) { 
if(testval>target) 
result=+1; 
elseif(testval<target) 
result=-1; 
elseresult=0; // Match     } 
publicstaticvoidmain(String[] args) { 
test(10, 5); 
print(result); 
test(5, 10); 
print(result); 
test(5, 5); 
print(result); 
    } 
}

/* Output:

1

-1

0

*///:~

4.3 迭代主要描述控制循环的编程技巧,使用while、do-while和for关键词,他们也叫迭代语句。

while格式:

while(Boolean-expression)

statement

 

do-while格式

do

statement

while(Boolean-expression);

 

上述两种格式都是只有在Boolean-expression为true的情况下进入下一次循环,唯一的区别是do-while至少执行一次,而while可能一次都不会执行。

for循环的形式如下:

for(initialization; Boolean-expression; step)

statement

initialization为初始化语句,Boolean-expression为布尔表达式,step为步长。根据Boolean-expression的值决定是否进行下一次循环。

publicclassCommaOperator { 
publicstaticvoidmain(String[] args) { 
for(inti=1, j=i+10; i<5; i++, j=i*2) { 
System.out.println("i = "+i+" j = "+j); 
        } 
    } 
}

/* Output:

i = 1 j = 11

i = 2 j = 4

i = 3 j = 6

i = 4 j = 8

*///:~

上面是for循环的一个例子,里面还用到了逗号表达式,主要是根据i<5来判断循环是否继续进行,初始化只是计算i和j的初始值,分别是1和11,然后按照i=i+1和j=i*2的步长递增。这个例子有点复杂,你可以自己简化跟简答的for训练的例子,好好琢磨一下就可以领会了。

目录
相关文章
|
2月前
|
运维 安全 Java
Java云HIS系统门诊流程
门诊系统主要实现医院门诊业务管理。是管理从门诊挂号、就诊到医生书写门诊病历、开立处方、门诊处置及门诊历史病历调阅、就诊信息查询;管理门诊收费挂号人员进行挂号、门诊收费、退费、结账、交款的整个门诊业务处理流程
33 0
|
Java 数据安全/隐私保护
java实现加密电话号码,有具体的加密流程注释
java实现加密电话号码,有具体的加密流程注释
31 0
|
4月前
|
JavaScript Java 项目管理
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
基于Java的大学生创新创业项目管理系统设计与实现(亮点:完整严谨的创新创业申请流程、适用于任何要求严格的审批类毕业设计)
110 0
|
2月前
|
设计模式 Java 数据库连接
【重温设计模式】代理模式及其Java示例
【重温设计模式】代理模式及其Java示例
23 2
|
3天前
|
存储 Java 索引
【JAVA】HashMap的put()方法执行流程
【JAVA】HashMap的put()方法执行流程
|
7天前
|
Java
Java基础知识整理,驼峰规则、流程控制、自增自减
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
34 3
|
15天前
|
Java 测试技术
滚雪球学Java(12):JavaSE-if条件语句入门指南:掌握代码分支流程!
【4月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
50 1
滚雪球学Java(12):JavaSE-if条件语句入门指南:掌握代码分支流程!
|
3月前
|
Java 持续交付 虚拟化
深入浅出:使用Docker容器化改善Java应用的开发与部署流程
在快速迭代与持续集成的软件开发周期中,确保应用在各种环境中一致运行是一个挑战。本文介绍了如何利用Docker容器技术,来容器化Java应用,以实现环境一致性、简化配置和加速部署过程。我们将从Docker的基础知识开始,探讨其与传统虚拟机的区别,进而深入到如何创建Dockerfile,构建镜像,以及运行和管理容器。此外,文章还将涵盖使用Docker Compose来管理多容器应用的策略,以及如何利用容器化改善CI/CD流程。通过本文,读者将获得关于如何高效地利用Docker改善Java应用开发与部署流程的实践指导。
162 1
|
3月前
|
Java
Java流程控制
Java流程控制
34 0
|
4月前
|
JavaScript 小程序 Java
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
43 0