从零开始学大数据-java基础-流程控制语句

     2022-03-28     811

关键词:


我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。


上一节学习了三元运算符/键盘录入,本节学习流程控制语句。

开始之前,我们先看一下上节的练习题。


一、练习题

(1)键盘录入三个数据,获取三个数据中最大值,程序如下:

技术分享图片

程序执行结果如下:

技术分享图片

(2)键盘录入两个数据,比较两个数据是否相等,程序代码如下:

技术分享图片

程序执行结果如下:

技术分享图片


二、流程控制语句


通过我们前面的学习,我们应该可以感觉到在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,也就是说程序的流程对运行结果有直接的影响。


所以,我们必须要清楚每条语句的执行过程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

下面我们来讲讲流程控制语句的分类(主要有三种):

  • 顺序结构

  • 选择结构

  • 循环结构


流程控制语句概念:可以控制程序的执行流程


1、顺序结构


规则:从上往下,依次执行

举例:

技术分享图片

程序执行结果:

技术分享图片


2、选择结构(也被称为分支结构)

选择结构有两种语句,分别为如下:

  • if 语句

  • switch语句


   

if语句


if语句(三种格式)

  1. 格式1:适合做单个判断

  2. 格式2:适合做两个判断

  3. 格式3:适合做多个判断


if语句格式1

if(比较表达式){

语句体;

}


执行流程规则:

  • 先计算比较表达式的值,看其返回值是true,还是false.

  • 如果是true,就执行语句体;

  • 如果是false,就不执行语句体。

序代码举例:

技术分享图片

程序执行结果:

技术分享图片

  • 可见,在if语句中,x等于10为true,大括号里的语句体可以正常执行;

  • x等于20为false,大括号里的语句体不执行,但不影响后面的语句“over”执行.


if语句的注意事项:

  1. 比较表达式无论简单还是复杂,结果必须是boolean类型

  2. if语句的语句体如果是一条语句,大括号可以省略;

  3. 如果是多条语句,就不能省略,建议永远都不要省略。

  4. 一般来说,有左大括号就没有分号,有分号就没有左大括号

如下程序代码,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)


技术分享图片

从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基础-控制流程语句

...,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了。基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者理解并且知识体系齐全觉得文章不错的可... 查看详情