2:选择语句

来,继续啊,为了控制程序的执行流程,Java 就提供了一些流程控制语句,我们先来举例说明一下:

顺序结构:从上往下,依次执行

1639987439012

选择结构:

QQ界面的登录,填写账号和密码正确,展示好友列表界面。填写账号或者密码有误,提示:你输入的账号或密码不正确。

这就是通过选择结构来实现的,实际开发中,类似这种逻辑判断的情况非常常见。

1639987467442

循环结构:

比如说,京东商城中,查询手机数据,京东就会返回给你一堆符合你查询要求的数据。

假如,每一部手机数据的展示需要5行代码,如果最终返回了1000部手机,你就需要编写5000行代码来实现数据展示。

这样就太麻烦了,那么,有没有一种流程语句,能够简化这种操作呢?答案肯定是有的,就是我们的循环结构,它就可以通过一个比较简单的结构来控制我们的手机展示1000次。

比如说,带着这样写就可以了,这就是循环结构。

1639987527903

了解完毕之后,我们来说一下这一块的课程安排:

1639988819218

首先,我们来学习顺序结构

2.1 顺序结构

顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行

执行流程图:

1639988895251

了解完顺序结构后,下面我们到IDEA中去演示一下:

这个比较简单,也没什么好练习的。就不练了,我们继续往下学习。

2.2 Debug的基本使用

为了帮助大家更好的理解程序的执行流程,我们来学习Debug,那什么是Debug呢?

Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序

它的两大作用,查看程序执行流程,调试程序。由于目前我们每个程序的代码内容还比较少,

所以,今天重点掌握查看程序执行流程,当代码复杂的时候,我们需要通过debug来调试程序。那么,debug操作的流程是什么样子的呢?

在讲解操作流程前,我们来说一下:

Debug,又被称为断点调试,断点其实是一个标记,告诉我们从哪里开始查看

知道了Debug被称为断点调试后,我们来讲一下Debug的操作流程:

① 如何加断点

选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可。如图

1639989649113

② 如何运行加了断点的程序

在代码区域右键Debug执行

1639989693712

③ 看哪里

看Debugger窗口,看Console窗口

1639989770511

④ 点哪里

点(Step Over F8) 开始,点(Stop)结束

1639989859440

⑤ 如何删除断点

选择要删除的断点,单击鼠标左键即可。也就是把第一步的动作,再做一次即可。

 

总结一下,Debug的使用流程:

①如何加断点:选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可

②如何运行加了断点的程序:在代码区域右键Debug执行

③看哪里:看Debugger窗口,看Console窗口

④点哪里:点(Step Over F8) 开始,点(Stop)结束

⑤如何删除断点:选择要删除的断点,单击鼠标左键即可

讲解完毕后,大家赶快动手练习一下吧。

通过Debug的方式看一下,如下代码的执行流程:

2.3 选择语句之if

选择语句有两种结构:

  1. if语句
  2. switch语句

这里我们先来学习if语句,它会根据判定的结果(真或假)决定执行某个分支的代码

举例说明一下:

1639990298744

无人驾驶的核心就是需要编写大量的判断逻辑,让车辆的行驶变得更加安全。

了解了交通信号灯的基本逻辑后,下面呢,我们通过if语句来实现过马路的信号灯判断,而if语句呢,有三种格式,这里我们首先来学习第一种格式

2.3.1 if语句格式1

格式:

1639990362425

范例:

1639990369424

执行流程:

1639990391758

了解完if语句格式1之后,下面我们到IDEA中去使用一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.2 if语句格式2和格式3

刚才我们通过if语句格式1进行了判断,是绿灯的时候,可以通行,但是不是绿灯的时候,没有告诉我不可以通行啊。所以,这里就产生了if语句的第二种格式,先在代码中演示,再回去总结:

演示完毕后,我们来说一下,if语句格式2:

格式:

1639990751332

范例:

1639990758157

执行流程:

1639990783253

讲解完if语句格式2之后,我们到IDEA中再去看一段代码:

很明显,这是不合理的,因为我们把三种状态都设置为true了,而实际生活中,只会有一种状态为true,怎么解决呢多种情况的判断呢?这个时候就产生了if语句的第三种格式,先在代码中演示,再回去总结:

演示完毕后,我们来说一下,if语句格式3:

if语句格式3:

格式:

1639991087641

执行流程:

1639991133430

讲解完毕后,大家赶快动手练习一下吧。

2.3.3 案例1(交通信号灯)

需求:交通信号灯由红灯、绿灯、黄灯组成,请通过程序实现不同的信号灯给出不同的提示。

提示信息:红灯停、绿灯行、黄灯亮了等一等

1639991232920

首先,我们来简单的分析一下:

分析:

① 用哪种类型来表示信号灯的三种状态呢?

用int类型来表示信号灯的三种状态(1表示红灯,2表示绿灯,3表示黄灯)

② 用if语句的哪种格式来实现该需求呢?

一般来说:1种情况的判断用if格式1,2种情况的判断用if格式2,多种情况的判断用if格式3

③ if语句判断的表达式该怎么写呢?

int light = 1;

if(light == 1) {…}

==:是关系运算符,用来判断两个数据是否相等,如果相等,结果为true,否则为false

分析完毕后,我们来说一下实现步骤:

实现步骤:

① 定义一个int类型的变量用来表示信号灯的状态(1表示红灯,2表示绿灯,3表示黄灯)

② 用if语句格式3进行多种情况的判断

③ 根据不同的情况给出不同的提示信息

知道了实现步骤,下面我们到IDEA中去实现一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.4 关系运算符

Java中的关系运算符有如下几种:

1639991414400

了解了Java中的关系运算符之后,下面我们到IDEA中去使用一下:

最后,我们来总结一下,刚才在演示代码的时候有两个注意事项:

1639991486878

讲解完毕后,大家赶快动手练习一下吧。

2.3.5 案例2(奇偶数)

需求:给定一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数

提示:偶数是能够被2整除的整数

首先,我们来简单的分析一下:

分析:

① 如何判断一个整数是奇数还是偶数?

整数对2进行取余,余数为0是偶数,否则为奇数

② 用if语句的哪种格式来实现该需求呢?

该整数要么是偶数,要么是奇数,2种情况,所以用if语句格式2

分析完毕后,我们来说一下实现步骤:

实现步骤:

① 定义一个int类型的整数

② 用if语句格式2进行判断

③ 根据是否是偶数给出不同的提示信息

知道了实现步骤,下面我们到IDEA中去实现一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.6 案例3(手机以旧换新)

需求:张三想买一台7988元的新手机,他的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新优惠,把他旧手机交给店家,新手机就能够打8折优惠。

为了更省钱,要不要以旧换新?请通过程序告诉张三

首先,我们来简单的分析一下:

分析:

① 计算不使用以旧换新的花费

7988 - 1500

② 计算使用以旧换新的花费

7988 * 0.8

③ 用if语句的哪种格式来实现该需求呢?

if语句格式2

分析完毕后,我们来说一下实现步骤:

实现步骤:

① 定义变量(money1)纪录不使用以旧换新的花费

② 定义变量(money2)纪录使用以旧换新的花费

③ 用if语句格式2进行判断 money1是否大于money2

④ 根据判断结果,给出相应的提示

知道了实现步骤,下面我们到IDEA中去实现一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.7 案例4(你是青年人吗)

需求:给出你的年龄,通过程序判断你是否属于青年人?

提示:世界卫生组织,经过对全球人体素质和平均寿命进行测定,对年龄划分标准作出了新的规定

1639991744335

首先,我们来简单的分析一下:

分析:

① 如何判断一个年龄是否属于青年人?

年龄要大于等于18,并且小于等于65

② 在Java中如何表示并且的关系呢?

age >=18 && age<=65

&&:是逻辑运算符,用来连接两个结果为boolean类型的表达式,都为true,结果为true,否则为false

分析完毕后,我们来说一下实现步骤:

实现步骤:

① 定义一个int类型的变量来表示你的年龄

② 用if语句格式2进行判断看你是否属于青年人

③ 根据是否是青年人给出不同的提示信息

知道了实现步骤,下面我们到IDEA中去实现一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.8 逻辑运算符

Java中常用的逻辑运算符有如下几种:

1639991900000

了解了Java中的逻辑运算符之后,下面我们到IDEA中去使用一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.9 三元运算符

来,继续啊,下面我们来学习三元运算符:

格式:关系表达式 ?表达式1 :表达式2;

范例:a > b ? a : b;

执行流程:

了解了三元运算符的执行流程后,下面我们到IDEA中去使用一下:

讲解完毕后,大家赶快动手练习一下吧。

2.3.10 三元运算符和if语句格式2的区别

这里呢,我们来讲解一下三元运算符和if语句格式2的区别,它们有什么区别呢?我们先到IDEA中进行讲解,然后再回来总结:

讲解完毕之后,回来总结一下:

1639992246395

1639992255842

好了,关于三元运算符和if语句格式2的区别我们就讲到这里。这个知识大家先了解一下,方便我们后面在适合的场景选择合适的实现方案。

2.4 选择语句之switch

来,继续啊,下面我们来学习选择语句中的switch语句。

格式:

1639992426024

格式说明:

1639992449128

执行流程:

1639992471016

了解完switch语句后,下面我们到IDEA中去使用一下:

最后,我们来总结一下,刚才在演示代码的时候有个注意事项:

注意:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整个switch语句结束