1.switch语句讲解:
class SwitchDemo
{
public static void main(String[] args)
{
/*switch语句格式:
switch(表达式)//byte,short,int,char四种类型供选择;
{
case 取值1:
执行语句;
break;
case 取值2;
执行语句;
break;
……
default: //无论default放哪个位置,都会最后才执行default中的语句(switch语句书写没有顺序,但是执行是有顺序的);
执行语句;
break; //break是用来结束switch语句的,挨着大括号的break可以省略;
}
int a = 4,b = 2;
char opr = '*';
switch(opr)
{
default:
System.out.println("不支持的运算符!");
break;
case '+':
System.out.println(a+b);
break;
case '-':
System.out.println(a-b);
break;
case '*':
System.out.println(a*b);
break;
}
*/
int x=1;
switch(x)
/*该switch语句执行后结果为输出d,a,b三者,运行时先执行各case不匹配,再执行default匹配结果为d则输出d,此时没有break因此不会结束,因为已经有了匹配的答案了因此会继续向下执行可以执行的语句而不再判断条件是否满足,直到碰到break或大括号终结;*/
{
default:
System.out.println("d");
//break;
case 4:
System.out.println("a");
//break;
case 3:
System.out.println("b");
break;
case 2:
System.out.println("c");
break;
}
}
}
2.switch语句练习:
class SwitchTest
{
public static void main(String[] args)
{
//switch练习_星期;
int week = 3;
switch(week)
{
case 1:
System.out.println(week+"对应星期一");
break;
case 2:
System.out.println(week+"对应星期二");
break;
case 3:
System.out.println(week+"对应星期三");
break;
default:
System.out.println(week+"没有对应的星期");
break;
}
//switch练习_季节;
int month = 8;
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;
}
}
}
3.if和switch应用:
if和switch的应用:
if:
1.对具体的值进行判断;
2.对区间判断;
3.对运算结果是boolean类型的表达式进行判断;
switch:
1.对具体的值进行判断;
2.值的个数通常是固定的(对固定的值进行判断);
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存.效率相对高一点;