------- android培训、java培训、期待与您交流! ----------
class switchdemo //选择结构 switch 语句及练习
{
public static void main(String[] args) //不加;不要忘了
{
/*一:释义
switch ()
{
case 取值:
执行语句
break;
.
.
.
default;
break;
}
稍显复杂
case 取值1: //标点:引出下面执行语句 case定义备选答案 后面取值就是答案内容;
执行语句 ;
break;// 跳出switch语句
/*三个为一个整体 1:case 取值 2:执行语句 3:break;
case 取值2://上面没有找到答案 继续取值2
执行语句 ;
break;// 跳出switch语句
.
.
.
.
default: //缺省(sheng)默认 所有答案都不对 就读这个默认情况
执行语句 ;
break
二:switch 语句特点 四个
特点一:被选择的表达式的值只接收四种类型:byte short int char(见下)
一般情况只有int 和 char两种 byte和 short较少见
特点二:case 和 default没有固定的顺序 default可以写在case前面 但是
不会先执行default 只有所有情况都不对才执行它 也就是执行的顺
序不会变 写的顺序可以变
特点三:switch语句有两种结束情况 1到 break 2到switch语句最后的大括号
特点四:如果与switch匹配的case和default没有对应的break,那么程序会继续
向下执行,运行可以执行的语句,直到遇到 break 或者switch结尾为止
(可以利用这个特点解决上个if练习中 季节的问题 见最下)
*/
int m=2; //必须先设定值啊 别忘;
switch (m)
{
case 4://不要写成(x=4): 就错了 因为就值一个值 不用()
System.out.println("a");
break;// 跳出switch语句
case 6:
System.out.println("b");
break;
case 2:
System.out.println("c");
break;
default:
System.out.println("d");
break; //可以省略 但..还是写吧
}
//三:特点一的char示例
int a=2,b=3;//不要丢了顿号
char ch='+';
switch (ch)//定义char 类型数据 直接写定义好的ch就可
{
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;
}
/*
四:利用switch 语句解决前面if 语句的季节练习题
需求 :根据用户指定月份,打印该月份所属的季节。
3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
*/
int x=9;
switch(x) //不加;
/* 记录自己的错误 不删了
{
case x=3://不要写成x=3 上面已经说了 要记住
case x=4:
case x=5:
System.out.println(x+"月是春季");
break;
case x=6:
case x=7:
case x=7:
System.out.println(x+"月是夏季");
break;
case x=9:
case x=10:
case x=11:
System.out.println(x+"月是秋季");
break;
case x=12:
case x=1:
case x=2:
System.out.println(x+"月是冬季");
break;
default:
System.out.println("you type in wrong!");
}
*/
{
case 3://不要写成x=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("you type in wrong!");
/*五:注意 switch 与 if 的区别
1:if判断区间比switch 简单 上例若是月份多就不好办了
2:对于结果是布尔型的 if 可判断 switch不行
3:重要 开发时的选择 选哪个呢??
switch:如果具体数值不多 而且是byte short int char这四种类型
就用switch 利用它一下子就将语句装入内存的特点 if也行
但是一条条的效率低
if :结果是boolean型 或者区间时使用 适用范围广 比较高效
PS:jdk7.0 已经将switch语句接收类型的范围扩大 可以判断字符串了
jdk5.0 的时候也对switch进行了增强 可以对枚举类进行选择
第二天终于完了 ooo
*/
}
}
}