Skip to content

选择结构


基本介绍

选择结构分类如下

1. 顺序结构

2. 分支控制

(1)单分支

(2)双分支

(3)多分支

(4)嵌套分支

(5)switch 分支结构

顺序结构

(1)特点:从程序入口进入,依次执行每一条语句,直到程序出口

(2)注意点:依据程序执行的特点,变量应该先声明,后执行

分支结构

单分支

(1)表达式为 true执行 if 括号内的语句

(2)表达式为 false执行 else 括号内的语句

多分支

(1)程序只有一个出口,只要有一个条件为 true,后面的条件不会继续判断

(2)如果所有条件都不符合,默认执行 else 语句

(2)可以没有 else 语句

分支嵌套

代码规范:嵌套不要超过三层,可读性差

switch-case 结构

基本结构

java
switch(表达式){
case 常量一:
语句一;
break;
case 常量二:
语句二;
break;
...
default:
default 语句块;
break;
}

执行原理

1. 以 switch 表达式作为基准,逐个和 case 常量进行比较

(1)如果成功匹配,则执行对应 case 的语句

(2)如果所有都不匹配,执行 default 语句

2. 执行完 case 语句之后跳出 switch 结构,接着执行后面的语句

3. 语句穿透

(1)如果没有 break,不再进行 switch 表达式和 case 的匹配,程序会直接执行其他 case 语句

(2)如果遇到 break,结束执行,循环结束

使用细节

1. 每一个 case 情况必须要有 break,否则会出现穿透现象

2. switch 表达式

(1) 表达式的数据类型必须和 case 的常量类型一致,或者是可以自动转成可以相互比较的类型

(2) switch 表达式中的返回值必须是:byte、short、char、int、 String、enum(枚举)

(3)case 表达式必须是常量,不可以是变量

(1) switch 语句可以与 byte、short、int、char、enum 类型一起使用,字符串(String)也可以用于 switch 语句。但不支持 long 类型。并且,switch 语句的使用必须遵循一定的规则

(2) switch 语句可以用于 boolean 类型,它的分支结构应根据 true 或 false 进行匹配。具体使用时,可以利用这些条件来决定程序执行路径。

比较 switch 和 if

(1)if:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广

(2)switch:如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum [枚举], String 这 6 种类型。虽然两个语句都可以使用,建议使用 switch 语句。