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 语句。 ​