关键词:
我们从零开始学习大数据技术,从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语句
往期文章:
从0开始学大数据-java基础语法
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java的发展史和基本操作... 查看详情
从0开始学大数据-java基础开篇
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。一、序言:2017年,这一年人才市场... 查看详情
从0开始学大数据-java基础-三元运算符/键盘录入
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java运算符,其中三元运... 查看详情
从0开始学大数据-java运算符
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。上一节了解Java基础语法,本节我们... 查看详情
java基础03—流程控制
...清华大学出版社,2016一、复合语句Java的复合语句由“{”开始,“}”结束,又称为块语句。复合语句都是由上至下被执行;复合语句中可以嵌套复合语句。publicclassCompound{publicstaticvoidmain(String[]args){intx=20;{inty=35;System.out.println 查看详情
java基础03—流程控制
...清华大学出版社,2016一、复合语句Java的复合语句由“{”开始,“}”结束,又称为块语句。复合语句都是由上至下被执行;复合语句中可以嵌套复合语句。publicclassCompound{publicstaticvoidmain(String[]args){intx=20;{inty=35;System.out.println 查看详情
从零开始学kotlin-控制语句
从零开始学Kotlin基础篇系列文章条件控制-ifvara=10varb=20if(a>b)print(a)if(a>b){print(a)}else{print(b)}valmax=if(a>b)aelsebif(ain1..10){print("a在1到10区间内")}条件控制-whenvalx=3when(x){1->print("x是1")2->print(" 查看详情
大数据必学java基础(二十):流程控制的引入和if语句介绍(代码片段)
文章目录流程控制的引入和if语句介绍一、引入1、流程控制的作用2、控制语句的分类3、流程控制的流程二、if语句介绍1、单分支2、多分支3、双分支 4、分支的嵌套使用 流程控制的引入和if语句介绍一、引入1、流程控制的作用... 查看详情
java基础:scannerrandom流程控制语句
内容介绍u引用数据数据类型(Scanner、Random)u流程控制语句(if、for、while、dowhile、break、continue)第1章 引用数据类型1.1 随机数类Random我们来学习下,用来产生随机数的类Random,它也属于... 查看详情
java开发从零开始!java游戏服务器开发教程
阶段一:筑基Java基础掌握不牢,对于一个开发人员来说无疑是非常致命的。学习任何一个技术知识无疑不是从基础开始;在面试的时候,面试官无疑不是从基础开始拷问。内容包括:Java概述、Java基本语法、Ja... 查看详情
有java基础如何学习大数据?
...算机编程语言众多,常用的编程语言有Java,Python等,在开始学习大数据之前都会选择学习Java,那Java到底好在哪呢?为什么学大数据之前要先学Java呢?大数据人才越来越多的受到社会和企业的青睐,很多想要学习大数据的新人... 查看详情
03_java基础语法_第3天(scannerrandom流程控制语句)_讲义
...A:创建引用类型变量公式*a:我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。*b:引用数据类型的定义格式*与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。*数据... 查看详情
java基础语法-流程控制语句
1packagecom.demo4;23/*4*流程控制语句5*流程控制语句分类:6*顺序结构7*代码从上往下按照顺序执行8*9*选择结构10*if11*if(关系表达式1){12*语句体1;13*}elseif(关系表达式2){14*语句体2;15*}else{16*语句体3;17*}18*switch19*switch(表达式){20*case值1:21*语... 查看详情
java基础,流程控制语句
流程控制语句条件语句: &nb 查看详情
java基础之路上----流程控制语句
今天我们来聊一聊java中的流程控制。我们首先来聊聊选择语句。选择语句分两种:1、if语句。2、switch语句;if语句分三种:if、ifelse、ifelseifelse。Java中的条件语句与C/C++中一致,并没有太大的区别。简单if语句例代码:/**if条件... 查看详情
java基础学习-流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我... 查看详情
java基础03流程控制语句
第一章流程控制1.1概述在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制... 查看详情
java基础-控制流程语句
...,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了。基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者理解并且知识体系齐全觉得文章不错的可... 查看详情