流程控制语句之选择结构语句,熟练应用if和switch



选择结构语句


概述:也被称为分支结构。

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,
逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。


选择结构的分类

  • if语句
  • switch语句


if语句

if语句的几种格式

格式一:

if(比较表达式或者是boolean类型的值) {
语句体;
}

格式二:

if(比较表达式) {
语句体1;
}else {
语句体2;
}

格式三:

if(比较表达式1) {
		语句体1;
	}else if(比较表达式2) {
		语句体2;
	}else if(比较表达式3) {
	语句体3;
	}
	...
	else {语句体n+1;}

选择结构if语句格式1及其使用

if语句的格式1

if(比较表达式或者是boolean类型的值) { 语句体; }在这里插入图片描述
点击此处运行结果

执行流程

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

  • 如果是true,就执行语句体;
  • 如果是false,就不执行语句体;
案例演示

判断两个数据是否相等### 选择结构if语句格式2及其使用
在这里插入图片描述
点击此处运行结果


选择结构if语句格式2及其使用

if语句的格式2
if(比较表达式) {
		语句体1;
	}else {
		语句体2;
	}

注意事项:else后面是没有比较表达式的,只有if后面有。

执行流程
  • 首先计算比较表达式的值,看其返回值是true还是false。
  • 如果是true,就执行语句体1;
  • 如果是false,就执行语句体2;
案例演示

1.获取两个数据中较大的值
在这里插入图片描述
点击此处运行结果
2.判断一个数据是奇数还是偶数,并输出是奇数还是偶数
在这里插入图片描述
点击此处运行结果


if语句的格式2和三元的相互转换问题

案例演示

获取两个数中较大的值,同时使用if语句和三元运算符进行操作。
在这里插入图片描述点击此处运行结果
在这里插入图片描述
点击此处运行结果

三元运算符实现的,都可以采用if语句实现,反之不成立
  • 什么时候if语句实现不能用三元改进呢?
    当if语句控制的操作是一个输出语句的时候就不能。
  • 为什么呢?
    因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

选择结构if语句格式3及其使用

if语句的格式3(if语句的多重嵌套)
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。
注意事项: 当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。

案例演示

键盘录入一个成绩,判断并输出成绩的等级。
90-100 优秀
80-89 良
70-79 中
60-69 及格
0-59 差

在这里插入图片描述
点击此处运行结果


选择结构if语句示例

示例1

键盘录入x的值,计算出y的并输出。
x>=3 y = 2x + 1;
-1<=x<3 y = 2x;
x<-1 y = 2x – 1;

**点击此处运行结果**
点击此处运行结果

示例2

获取三个数据中的最大值,要求使用if语句
在这里插入图片描述
点击此处运行结果



switch语句

选择结构switch语句的基本使用

格式

在这里插入图片描述
点击此处运行结果

定义固定值
  1. 整数(给定一个值输出对应的星期一,星期二,星期三…星期日)

  2. 字符(单选题)
    System.out.println(“我们开设了那些专业?”);
    System.out.println(“A 挖掘机专业”);
    System.out.println(“B 美容美发专业”);
    System.out.println(“C JAVA专业”);
    System.out.println(“D 机械及自动化”);

  3. 字符串(根据给定字符串输出对应值)


选择结构switch语句的注意事项

  • case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
  • default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
  • break可以省略,但是结果可能不是我们想要的。
    会出现一个现象:case穿透。
    最终我们建议不要省略
  • default不一定要在最后,可以在任意位置。但是建议在最后。
  • switch语句的结束条件:
    1. 遇到break就结束了
    2. 执行到末尾就结束了

选择结构switch语句示例

示例1(了解break的作用)

看程序写结果
在这里插入图片描述
点击此处运行结果
在这里插入图片描述
点击此处运行结果

示例2

请根据键盘输入的月份,打印出对应月份的天数。
在这里插入图片描述
在这里插入图片描述
点击此处运行结果


选择结构if语句和switch语句的区别

案例演示

分别用switch语句和if语句实现下列需求:
键盘录入月份,输出对应的季节

if语句:
在这里插入图片描述
点击此处运行结果

switch语句:
在这里插入图片描述
在这里插入图片描述
点击此处运行结果

结论
  • if语句使用场景:
    1. 针对结果是boolean类型的判断
    2. 针对一个范围的判断
    3. 针对几个常量值的判断

  • switch语句使用场景:
    针对几个常量值的判断

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值