本帖最后由 michael_wlq 于 2015-9-29 23:13 编辑
if语句:if语句的格式1:
if(比较表达式) {
语句体;
}
------------------------------------------
if语句的格式2:
if(比较表达式) {
语句体1;
}else {
语句体2;
}
--------------------------------------------
if语句的格式3:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
【注意】if就是如果的意思,参数肯定是条件,既然是条件就有成立不成立之分,所以参数必须是布尔类型的值或者结果是布尔类型的表达式。
注意事项:
1、最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示 ;
2、else后面是没有比较表达式的,只有if后面有;
3、对于格式3的程序,只要有一个if(或者else if)条件满足,执行完该if语句(或者else if)里面的语句后,其他语句将不再执行。
------------------------------------------------------------------------------------------------------------------------------------
switch语句
switch语句的格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
【注意】
1.default就是如果没有符合的case就执行它,default并不是必须的;
2.case后的语句可以不用大括号,case 后面必须是常量表达式constant expressions,错误表示如: case x ;
3.switch语句的判断条件可以接受int、byte、char、short、 enum(JDK1.5)、String(JDK1.7),以及前面几个基本数据类型的包装类,不能接受其他类型;
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句。
5.switch语句遇到右括号}或者break语句结束。
【注意】从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止,随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case;假如任何一个case语句的值都不等于表达式的值,就运行可选标签default之下的语句;假如表达式的值和任何一个case标签都不匹配,同时没有发现一个default标签,程序会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。
示例:- String msg = "dragon";
-
- switch(msg) {
- case "rabbit": System.out.println("rabbit ");
- case "dragon": System.out.println("happy new year");
- default:System.out.println("what ?");
- case "monkey": System.out.println("monkey");break;
- case "viper" : System.out.println("dokudoku!!");
- }
复制代码 输出结果:
- happy new year
- what ?
- monkey
复制代码 上面例子说明了两个问题,第一个是不加break的后果,第二个是default的位置影响。//遇到case匹配之后,顺序执行后面的代码,而不再进行匹配,知道遇到break语句或者右大括号为止(switch语句结束),而并非是执行完default语句就结束。
|
|