Java基础学习之路-笔记day4
Java基础学习之路-笔记day4-- if 与switch
if
第一种类型
if (判断语句) {
语句体;
}
第二种类型
if (判断语句) {
语句体1;
} else {
语句体1;
}
第三种类型
if (判断语句1) {
语句体1;
} else if (判断语句2){
语句体2;’
} else if (判断语句3){
语句体3;
}
....
else {
语句体n+1;
}
注意:小括号的判断条件结果都为boolean型;
最后的 else可以省略,但是不建议,可以提供其他类型外的情况;
如果if 语句所控制的是一条语句体可以省略括号{},但建议不要省略;
if (判断语句)
语句体;
需要要注意
int a = 10;//编译器认为定义变量是两条语句不是一条
switch
执行流程:
1使用小括号中将匹配的值与case 后的匹配值进行匹配,如果匹配成功,执行对应的语句体,然后在由brake介绍整个switch;
2如果跟所有case匹配失败,则执行default。
switch (将要匹配的值) {
case 匹配值1 :
语句体1;
break;
case 匹配值2 :
语句体2;
break;
case 匹配值3 :
语句体3;
break;
...
default :
语句体n+1;
break;
}
注意:遇到break或} 跳出;case后的匹配值只能是常量。
将要匹配的值 数据类型为 short byte int char (能提升为int类型的);
JDK5 后增加了枚举;
JDK7增加了String字符串;
break 可以省略,会出现渗透现象;
switch (week == 1){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("周末");
break;
}
default放第一行跟最后一行效果一样,都是最后运行default,case执行完没有匹配,才进入default。
case 后面的值不允许重复定义
if 与switch 比较:
如果进行范围性的判断,推荐使用if语句;
如果要匹配的固定选项,推荐使用switch语句。