您的位置 首页 java

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

难度

初级

学习时间

30分钟

适合人群

零基础

开发语言

Java

开发环境

  • JDK v11
  • IntelliJ IDEA v2018.3

1.什么是流程控制语句?

第一句:

源文件中的语句通常按照它们出现的顺序从上到下执行。

什么是源文件?

在Java中,源文件就是Java类型的文件。

什么是语句?

以分号结尾的就是一条语句。上面有4条语句。

那什么又是“按顺序从上到下执行”?

我们来看一段示例代码:

这个程序输出的结果是:

输出的结果的顺序和它对应的输出语句顺序一致,也是从上到下,依次执行输出。

接着往下看下面一段话:

但是,流程控制语句通过使用决策,循环和分支来分解执行流程,使您的程序能够有条件地执行特定的代码块。

其中,我们的程序执行顺序是可以被控制的,也就是说原来显示输出的是“ABCD”,那么我可以让他只输出“AD”,怎么做到的呢,那就需要和流程控制语句的配合。流程控制语句有三类:

决策语句:if-then,if-then-else,switch

循环语句:for,while,do-while

分支语句:break,continue,return

接下来,本章讲解if-then-else。循环语句和分之语句在后续文章讲解。

2.if-else

那有没有就是说,如果满足条件执行语句1,不满足条件执行语句2的决策语句呢?答案是有的,下面我们就来介绍if-then-else。

if-then-else当if不满足条件时,则执行else语句块。

举一个生活中的例子:如果明天是晴天,那么我就去看逛街,否则我就去看电影。

简化一下,用“如果-那么-否则”。

再程序化一下,用“if-then-else”。

接下来,我们用代码来体现:

我们把“明天是晴天”变量名改为“weather”,晴天的话为true,否则为false:

我们简单翻译一下这段程序:

我们来运行这段程序:

3.if-else简写

if-else简写时,if语句只管紧跟自己的一条语句,同理,else语句也只管紧跟自己的一条语句。

举一个例子:如果明天是晴天,那么就去根据,否则就是看电影。

代码体现:

简写形式:

if-else简写形式就是将大括号去掉。

我们来测试if语句块和else语句块里面有多条语句时的情况:

运行结果:

唉,出错了,看下错误:

文字版:Error:(11, 9) java: 有 ‘if’, 但是没有 ‘else’。

啥叫“有if,但是没有else?”明明都有啊:

注意,我们前面早就说过,if和else都只管紧跟着自己的第一条语句,也就是如下:

那么也就是说if和紧跟它的第一条语句是一个整体,然后else和紧跟它的第一条语句是一个整体:

根据if-else简写形式,我们知道:

这样的写法才是对的,也就是if语句的后面确实要跟else,但是下面这段代码if语句后面跟的不是else语句,而是“System.out.println(“逛街”);”:

本来因为要跟的是else语句,现在却不是,所以出错了:Error:(11, 9) java: 有 ‘if’, 但是没有 ‘else’。

建议:请大家不要省略大括号。

4.if-else嵌套

首先我们来看if-else嵌套形式:

其中,省略号的意思是,还可以再继续嵌套下去。

注意:请尽量不要嵌套if-else。

举一个if-else嵌套的例子:抽奖活动,红色和蓝色卡片各一张,先抽卡片,然后再抽数字,数字只有1号和2号,中奖组合如下:

红色+1号对应奖品为笔记本;

红色+2号对应奖品为鼠标;

蓝色+1号对应奖品为手机;

蓝色+2号对应奖品为键盘。

于是,改写为如果-否则的形式:

因为只有红色和蓝色,所以你没抽到红色,那么就只剩下蓝色。好,接下来改写为if-else形式:

我们把里面的也改写一下:

把里面改成if-else的形式,因为你抽的不是1号就是2号,所以当你没有抽到1号的时候,剩下的只有2号:

最后,我们代码体现:

运行结果:

大家可以自己改改卡片颜色和数字序号来试试不同的结果。

5.if-else if

首先,我们来看if的英文翻译是“如果”,else 的英文翻译是“否则”,那么else if就是否则 如果:

当if语句条件不满足时,我们往下判断else if当条件表达式满不满足,如果满足则执行else if里面的语句;如果不满足则不执行。

举一个例子,抽奖,有红色、蓝色的卡片若干,抽中红色得笔记本,抽中蓝色得键盘。

改为如果 否则-如果形式:

改为if-else-if形式:

代码体现:

运行结果:

6.if else-if简写

if else-if简写形式:

同样的,if只管紧跟它后面的第一条语句;else if也只管紧跟它后面的第一条语句;

举一个例子,抽奖,有红色、蓝色的卡片若干,抽中红色得笔记本,抽中蓝色得键盘。

改为如果 否则-如果形式:

改为if-else-if形式:

代码体现:

简写形式:

运行结果:

建议:开发中最好不要省略大括号!

7.if else-if嵌套

if else-if嵌套形式:

其中,省略号代表还可以嵌套很多层。

注意:最好一层都不要嵌套,能不嵌套就不要嵌套!

来一个if else-if嵌套的例子:还是抽奖,红色卡片和蓝色卡片各一张,先抽卡片,卡片抽完了,再去抽数字,数字有1号和2号,中奖组合:

红色+1号对应奖品为笔记本;

红色+2号对应奖品为鼠标;

蓝色+1号对应奖品为手机;

蓝色+2号对应奖品为键盘。

用“if else-if”形式:

代码体现:

运行结果:

8.if else-if else

if else-if else表现形式:

当条件1满足时,执行语句块1;当条件2满足时,执行语句块2;否则,执行语句块3。

举一个生活中的例子,考试成绩在90分及以上的为A,80分及以上的为B,70分及以上的为C,低于70分为D:

if语句形式:

if else-if形式:

我们再用if else-if else形式:

代码体现:

运行结果:

9.if else-if else简写

if else-if if简写形式:

将上面分数例子的原程序通过if else-if else简写形式改造。

首先,我们先列出分数例子的源程序:

if else-if else简写:

运行结果:

建议:开发中最好不要省略大括号!

10.if else-if else嵌套

if else-if else嵌套形式:

大家看起来是不是感觉非常的混乱,更别提多层嵌套。

强烈建议:if else-if else嵌套开发中不允许使用!!!非常不利于团队开发。这种代码写出来是非常糟糕的。

if else-if else嵌套示例就不用列举了吧,简直没有阅读性。

11.列举常用的if语句形式

  • if语句
  • if else语句
  • if else-if语句
  • if else-if else语句

至此,Java中控制流程语句中的决策语句if-else相关内容讲解先告一段落,更多内容请持续关注。

附:流程控制语句表

答疑

如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。

上一章

下一章

“全栈2019”Java第二十三章:流程控制语句中决策语句switch上篇

学习小组

加入同步学习小组,共同交流与进步。

  • 方式一:关注头条号gorhaf,私信“Java学习小组”。
  • 方式二:关注公众号gorhaf,回复“Java学习小组”。

全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

版权声明

原创不易,未经允许不得转载!

文章来源:智云一二三科技

文章标题:“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

文章地址:https://www.zhihuclub.com/175925.shtml

关于作者: 智云科技

热门文章

网站地图