我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。
上一节学习了三元运算符/键盘录入,本节学习流程控制语句。
开始之前,我们先看一下上节的练习题。
一、练习题
(1)键盘录入三个数据,获取三个数据中最大值,程序如下:
程序执行结果如下:
(2)键盘录入两个数据,比较两个数据是否相等,程序代码如下:
程序执行结果如下:
二、流程控制语句
通过我们前面的学习,我们应该可以感觉到在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,也就是说程序的流程对运行结果有直接的影响。
所以,我们必须要清楚每条语句的执行过程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
下面我们来讲讲流程控制语句的分类(主要有三种):
-
顺序结构
-
选择结构
-
循环结构
流程控制语句概念:可以控制程序的执行流程
1、顺序结构
规则:从上往下,依次执行
举例:
程序执行结果:
选择结构有两种语句,分别为如下:
-
if 语句
-
switch语句
if语句
if语句(三种格式)
-
格式1:适合做单个判断
-
格式2:适合做两个判断
-
格式3:适合做多个判断
if(比较表达式){
语句体;
}
执行流程规则:
-
先计算比较表达式的值,看其返回值是true,还是false.
-
如果是true,就执行语句体;
-
如果是false,就不执行语句体。
程序代码举例:
程序执行结果:
-
可见,在if语句中,x等于10为true,大括号里的语句体可以正常执行;
-
x等于20为false,大括号里的语句体不执行,但不影响后面的语句“over”执行.
if语句的注意事项:
-
比较表达式无论简单还是复杂,结果必须是boolean类型
-
if语句的语句体如果是一条语句,大括号可以省略;
-
如果是多条语句,就不能省略,建议永远都不要省略。
-
一般来说,有左大括号就没有分号,有分号就没有左大括号
如下程序代码,if语句里面的表达式都是布尔类型的
②if语句格式2
if(比较表达式){
语句体1;
}else {
语句体2;
}
执行流程:
-
首先计算比较表达式的值,看其返回值式true还是false.
-
如果式true,就执行语句体1;
-
如果式false,就执行语句体2;
注意:else后面是没有比较表达式的,只有if后面才会加表达式
程序代码案例,如下:
程序执行结果:
练习题:
下面我们针对if else语句做两个练习题:
1、获取两个数据中较大的值
2、判断一个数据是奇数还是偶数,并输出
程序代码如下,我将两道题都通过下述代码实现:
执行结果:
-
可见,if语句和三元运算符可以完成相同的效果,但也是有需要注意以下的区别:
区别:
三元运算符实现的,都可以采用if语句实现,反之不成立。
什么时候if语句实现不能用三元运算符改进呢?
-
当if语句控制的操作是一个输出语句的时候就不能。
-
因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。
案例:
程序执行结果:
如果将判断奇偶的例子,使用三元运算做改进,可以参照以下程序代码:
程序执行结果:
-
可见,验证了我们前面提到的三元运算符实现的,都可以采用if语句实现,反之不成立的结论。
③if语句的格式3
if(比较表达式1){
语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
…
else{
语句体n+1;
}
执行流程:
-
首先计算表达式1看其返回值是true还是false,
-
如果是true,就执行语句体1,if语句结束。
-
如果是false,接着计算比较表达式2看其返回值是true还是false
-
如果是true,就执行语句体2,if语句结束
-
如果是false,接着计算比较表达式3,看其返回值是true还是false.
-
…
-
如果是false,则执行语句体n+1.
举例:键盘录入一个成绩,判断并输出成绩的等级。
-
90 – 100 优秀
-
80 – 90 好
-
70 – 80 良
-
60 – 70 及格
-
0 – 60 不及格
程序代码如下:
程序执行结果:
注意:
在写一个程序的基本测试的时候,一定要考虑以下几个问题:
-
正确数据
-
错误数据
-
边界数据
所以针对上面的数据,我们可以做个改进,先判断先错误数据,这样会更好,如下:
扩展练习题(自行完成):
1、获取两个数据中较大的值
2、判断一个数据是奇数还是偶数,并输出
本节我们就先告一段落,下一节我们将学习Switch语句
往期文章:
从零开始学大数据-Java基础开篇(1)
从零开始学大数据-Java基础语法(2)
从零开始学大数据-Java运算符(3)
从零开始学大数据-Java基础-三元运算符/键盘录入(4)
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/190731.html