选择结构
switch——>可以翻译成:开关,交换的意思。
格式:
switch(表达式)——>必须对谁进行选择
{
case 取值1:——>这个叫被选答案
执行语句;
break;
case 取值2:
执行语句;
break;
…………
default:——>默认 的意思
执行语句;
break;
}
switch语句的特点:
1,switch选择的语句有限,只有四种语句可供选择
四种类型:beyt,short,int,char。
2,在switch语句中,他们的选择是无序的,但是执行有顺序。
例1:
class DemoSwitch
{ public static void main(String[] args){
int x=3;
switch(x)
{
case4 :
System.out.println("a");
break:
case1 :
System.out.println("b");
break;
case3 :
System.out.println("c")
break;
default:
System.out.println("d")
break;
}
}
}
总结:
switchh(x)会读取第一case4:,如果取值是一致,就从break跳出
结束,如果取值不一致,就会选择default(其他或默认的意思)结束跳出。
例2:char类型
calss DemoSwitch2
{ public static void main(String[] args){
int a=4,b=2;
char opr="-"
switch(opr)
{
case "+":
System.out.println(a+b);
break;
case "-":
System.out.println(a-b);
break;
case "*":
System.out.println(a*b);
break;
case "/":
System.out.println(a/b);
break;
default:
System.out.println("无法运算,符号不支持");
break;
}
}
}
例3: 用户输入的数据对应的星期
class DemoSwitch4
{ public static void main(String[] args){
ing week=1;
switch(week)
{
case 1:
System.out.println(week+"对应的是星期一");
break;
case 2:
System.out.println(week+"对应的是星期二");
break;
case 3:
System.out.println(week+"对应的是星期三");
break;
case 4:
System.out.println(week+"对应的是星期四");
break;
case 5:
Syetem.out.println(week+"对应的是星期五");
break;
case 6:
System.out.println(week+"对应的是星期六");
break;
case 7:
System.out.println(week+"对应的是星期日");
break;
default:
System.out.println(week+"没有对应的星期");
break;
}
}
}
例4: 用户输入的数据对应的季节
class DemoSwitch5
{ public static void main(String[] args){
int month=13;
switch(month)
{
case 3:
case 4:
case 5:
System.out.println(month+"月对应的是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月对应的是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月对应的是秋季");
break;
case 12:
case 1"
case 2:
System.out.println(month+"月对应的是冬季");
break;
default:
System.out.println(month+"月没有对应的季节");
break;
}
}
}
if语句和switch语句:
if和switch的应用:
if:
1,对具体的值进行判断。
2,对区间判断。
3对运算结果是boolean类型的表达方式进行判断。
switch:
1,对具体的值进行判断。
2,值的个数通常是固定的。
注:对于几个固定的值判断,建议使用switch语句。
因为switch语句会将具体的答案都加载进内存。效率
相对高一点。