------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
Switch语句
swithch(表达式)
{
case 取值1:
执行语句;
break;
case取值2:
执行语句;
break;
......
default:
执行语句;
break;
}
int x=3;
switch(x) // 特点1. x 可以是 byte short int char
{
case 4:
System.out.println("a");
break;
case 3:
System.out.println("b");
break;
case 6:
System.out.println("c");
break;
default:
System.out.println("d");
break; // 可以省略
}
特点:2.case之间与default没有顺序。先执行第一个case。没有匹配的case执行default。
3. 结束switch语句的两种情况:遇到break,执行到switch语句结构 }
4. 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束
switch 练习
// 需求2:根据用户指定月份,打印该月份所属季节
//3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12,1,2冬季
int x=4;
switch (x)
{
case 3:
case 4:
case 5:
System.out.println(x +"春季");
break;
case 6:
case 7:
case 8:
System.out.println(x +"夏季");
break;
case 9:
case 10:
case 11
System.out.println(x +"秋季");
break;
case 12:
case 1:
case 2:
System.out.println(x +"冬季");
break;
default:
System.out.println("nono");
}
if 和switch语句很像。 具体什么场景下,该用哪个呢?
如果判断的具体数值不多而且符合byte short int char这四种类型。if switch 都可以用,用switch效率稍高。
其他情况用if:
对于区间大的 用if ,switch不行
运算结果是boolean型的 用if ,swithch不行