if 语句的主要功能是给程序提供一个分支。然而,有时候程序中仅仅多一个分支是远远不够的,甚至有时候程序的分支会很复杂,这就需要使用多分支的 if…else if 语句。

通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理……,这些条件都不满足则执行最后一种条件”。

if…else if 多分支语句的语法格式如下所示:

  1. if(表达式1) {
  2. 语句块1;
  3. } else if(表达式2) {
  4. 语句块2;
  5. ...
  6. } else if(表达式n) {
  7. 语句块n;
  8. } else {
  9. 语句块n+1;
  10. }

可以看出,else-if 结构实际上是 if-else 结构的多层嵌套。明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。

在使用 if…else if 语句时,依次判断表达式的值,当某个分支的条件表达式的值为 true 时,则执行该分支对应的语句块,然后跳到整个 if 语句之外继续执行程序。如果所有的表达式均为 false,则执行语句块 n+1,然后继续执行后续程序,其运行流程如图 3 所示。

图3  if…else if 语句的执行流程

例 5

同样以比较 num1 和 num2 的大小为例,使用 if…else if 多条件的实现代码如下:

  1. public static void main(String[] args) {
  2. int num1 = 50;
  3. int num2 = 34;
  4. if (num1 == num2) { // 如果num1等于num2
  5. System.out.println("num1等于num2");
  6. } else if (num1 > num2) { // 如果num1大于num2
  7. System.out.println("num1大于num2");
  8. } else { // 否则就是小于
  9. System.out.println("num1小于num2");
  10. }
  11. }

如上述代码所示,num1 和 num2 不满足 if 语句的“num1==num2”条件,接着测试 else if 的“num1>num2”条件,满足该条件并输出“num1 大于 num2”。

例 6

假设某学校对成绩的判断标准是:不低于 90,可以评为优秀;低于 90 但不低于 80,可以评为良好;低于 80 但不低于 60,可以评为中等;否则评为差。

  1. public static void main(String[] args) {
  2. System.out.println("请输入考试成绩:");
  3. Scanner input = new Scanner(System.in);
  4. int score = input.nextInt(); // 接收键盘输入数据
  5. if (score >= 90) { // 考试成绩>=90
  6. System.out.println("优秀");
  7. } else if (score >= 80) { // 90>考试成绩>=80
  8. System.out.println("良好");
  9. } else if (score >= 60) { // 80>考试成绩>=60
  10. System.out.println("中等");
  11. } else { // 考试成绩<60
  12. System.out.println("差");
  13. }
  14. }

当考试成绩为 90 分以上时,则执行第一个 if 语句,下面的 3 个条件判断语句不会执行;当考试成绩为 80 分以上 90 分以下时,则执行第一个 else if 语句;当考试成绩在 60~80 分,并且包含 60 分的成绩,则执行第二个 else if 语句;如果上述 3 个条件都不满足,则执行 else 语句。

程序运行后的输出效果如下所示:

请输入考试成绩:
100
优秀
请输入考试成绩:
88
良好
请输入考试成绩:
50
差

多条件 if-else-if 语句相关推荐

  1. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  2. python的for语句条件_Python中的条件选择和循环语句

    Python中的条件选择和循环语句 同C语言.Java一样,Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,但是在写法和用法上还是有一些区别.今天就让我们一起来了解一下. 一 ...

  3. linux循环条件,shell脚本编写 之 条件选择,条件判断,循环语句

    1 概述 编写shell脚本,一般离不开条件选择,条件判断以及循环语句.掌握这三个语法,将大大提高脚本的编写效率,使得脚本编写更加灵活,完成X相对复杂的工作 2 条件选择if语句 if语句选择执行,逐 ...

  4. shell脚本详解(二)——条件测试、if语句和case分支语句

    shell脚本详解(二)--条件测试.if语句和case分支语句 一.条件测试 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if条件语句 1.单分支 2.双分支 ...

  5. Python中的条件选择和循环语句

    Python中的条件选择和循环语句 同C语言.Java一样,Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,但是在写法和用法上还是有一些区别.今天就让我们一起来了解一下. 一 ...

  6. c++ for循环 流程图_python 零基础必知--条件控制与循环语句

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文章来自腾讯云 作者:somenzz 如果没有 if 语句和循环语句,请问你怎么 ...

  7. (转)bash条件判断之if语句

    http://blog.51cto.com/64314491/1629175---------bash条件判断之if语句(一) http://blog.51cto.com/64314491/16292 ...

  8. 有条件的mysql插入语句_mysql中有条件的插入语句

    今天在参加笔试的过程中,看到一道题,大概意思就是说,当满足了条件就执行插入语句,当时就蒙了,之前从来都没有考虑过满足条件才插入的情况,所以一直都是这样写的 insert into table_name ...

  9. 单表无条件和有条件查询的SQL语句

    话不多说,直接上实验4 简单查询-单表无条件和有条件查询的SQL语句------------ (1) 查询所有学生的基本信息.所有课程的基本信息和所有学生的成绩信息(用三条SQL语句). SELECT ...

  10. r语言中的或怎么表示什么不同_R语言中灵活运用if实现根据不同条件执行不同的语句...

    原标题:R语言中灵活运用if实现根据不同条件执行不同的语句 在程序语言中,if一般属于一种分支结构,即根据某个条件执行相关的语句,在R中也不例外.同时,if语句与else配合可以运用到多种条件递归判断 ...

最新文章

  1. 清华大学教授:唐杰——深度分析:人工智能的下个十年
  2. linux 查看 全部网卡 虚拟网卡 物理网卡
  3. 关于sqlite数据库在使用过程中应该注意以下几点
  4. python没有上方工具栏_Python体验(08)-图形界面之工具栏和状态栏
  5. 接口测试指导方案 转:紫漪
  6. Python中文分词 jieba 十五分钟入门与进阶
  7. 创建安卓app的30个经验教训
  8. git强行让本地分支覆盖远程分支
  9. UART 异步串行通信发送模块设计与实现
  10. java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%
  11. 训练日志 2018.11.14
  12. oracle表分析效果怎么看,Oracle 索引与表分析几种方法
  13. KVM源代码阅读--内核版本3.17.4
  14. 哈夫曼编码+python实现
  15. 香港城门隧道翻车意外酿一死16伤
  16. 浏览器下载大文件时下载完成但大小对不上
  17. 安卓10源码开发定制(30)screencap命令源码分析
  18. 触发Full GC执行的情况
  19. 北斗时钟系统(子母钟系统)设计原理架构
  20. Python读取图片内容并进行修改

热门文章

  1. Oracle创建并安装实例失败,11gr2创建实例一直失败,百度无果,求解
  2. JS日历控件不显示2021年问题, 不显示2021年以后的年份,怎么解决?
  3. 计算机网红叫啥,计算机 | 看头号“网红”如何玩转科研
  4. 要远离邪淫否则危害很严重
  5. HDU 2066 一个人的旅行 【floyd】
  6. strptime和strftime
  7. Opencv画图函数整理 及 cvCircle cvLine 只能画出黑白两种颜色问题 解决
  8. Turn off debug mode in vmware workstation
  9. deepin和ubuntu中mysql8.0.16修改密码蜜汁问题
  10. HTML 框架frame