流程控制--选择结构
选择结构是通过分支语句实现的,分支语句有两种。
if分支
if语句的三种形式
注意:
else 不能单独使用,要和if配对使用
if else 都可以后面不跟{},但是只能控制下面的一行代码
switch分支
switch语句的结构
switch (expression) {
case value1:
// statement sequence
break;
case value2:
// statement sequence
break;
...
case valueN :
// statement sequence
break;
default:
// default statement sequence
}
switch语句需要注意的问题
(1)switch(expression)中expression的结果必须是byte,short,char,int,枚举类型、String中的一种。 不可以是long
(2)在同一个switch语句中,两个case常量不允许具有相同的值
(3)每个case语句中需要加上break;语句。如果遗漏了break,则会继续进入到下一个case。
(4)可以省略default语句。
(5)default语句通常放在末尾,可以放在开始,中间或者末尾位置。
if-else与Switch的区别
(1)switch语句只能进行相等性测试,这一点与if语句不同,if语句可以对任何类型的布尔表达式进行求值。即,switch只查看表达式的值是否和某个case常量相匹配。
(2)相对于一系列嵌套的if语句,switch语句通常效率更高。
(3) switch能做的分支,if...else...一定能做。但是if...else...能做的分支,switch不一定能做。