switch结构
switch结构
switch 结构语法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
switch(表达式) { //表达式只能放整形变量或者字符型变量。
case 常量值: //常量值必须是整型或者字符型。
//语句
break;
case 常量值: // 每一个常量值都必须不相同。
//语句
break; // break是跳转的意思,也就是当满足条件时就跳出
case 常量值: // 常量值的顺序可以不相同。
//语句
break; // 不一定要使用break
// … …
default: //default跟else一样可以省略不用。
//语句
break;
}
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class SwitchTest {
public static void main(String[] args) {
int score = 1;
switch(score) {
case 1:
System.out.println("优");
break;
case 2:
System.out.println("良");
break;
case 3:
System.out.println("中");
break;
default:
System.out.println("差");
break;
}
}
}
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class IfElseTest {
public static void main(String[] args) {
int score = 1;
if(score == 1) {
System.out.println("优");
} else if(score == 2) {
System.out.println("良");
} else if(score == 3) {
System.out.println("中");
} else if(score == 3) {
System.out.println("差");
}
}
}
比较switch和多重if结构
相同点
都可以实现多分支结构
不同点
switch
只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断
多重if
处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public static void main(String[] args)
{
int i = 3;
switch(i)
{
default:
System.out.println("no");
//break;
case 1:
System.out.println(i);
break;
case 2:
System.out.println(i);
break;
case 3:
System.out.println(i);
break;
}
}
注意事项:
每个case后可以有多个语句,也就是说可以有多组语句,并且不用“{}”括起来,还是建议都用“{}”括起来,case和default后面都有一个冒号“:”,case后面可以没有语句,更甚至可以没有“break”关键字。