2014-11-1211:46:27
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
如code<1>:代码中,由于i等于5,和前面的两个case都不匹配,所以结果中并没有one和ten的。而第三个case中的5就和switch中i的值匹配,因此就会打印出five的,由于没有遇到break所以就会顺序执行很面的代码,打印出three和other
对于流程控制中的switch-case语句,一直是我的一个弱项.
每当考试或者面试笔试的时候,总是丈二和尚摸不着头脑,我想这应该是我基础太差的原因吧!
为了彻底解决这个心病,不得不花点功夫了!
code<1>:
1 public class Test7 2 { 3 public static void main(String[] args) 4 { 5 int i=5; 6 switch(i) 7 { 8 case 1: 9 System.out.println("one"); 10 case 10: 11 System.out.println("ten"); 12 case 5: 13 System.out.println("five"); 14 case 3: 15 System.out.println("three"); 16 default: 17 System.out.println("other"); 18 } 19 } 20 }
->结果是:
five
three
other
switch 常用语句:
1 switch(表达式) 2 { 3 case 常量表达式1:语句1; 4 5 .... 6 7 case 常量表达式2:语句n; 8 9 default:语句; 10 }
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号. case 后面必须是常量表达式constant expressions, 错误表示如: case x .
3.switch语句的判断条件可以接受int,byte,char,short, enum不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句,正如code<1>所示的代码一样。
1.标准型(case后面都有break语句)
1 int judgement_event = 3; 2 switch(judegment_event) 3 { 4 case 1: 5 System.out.println(1); //不同的编译环境对应不同的语句命令 6 break; 7 8 case 2: 9 System.out.println(2); //不同的编译环境对应不同的语句命令 10 break; 11 12 case 3: 13 System.out.println(3); //不同的编译环境对应不同的语句命令 14 break; 15 16 default: 17 System.out.println("default"); //不同的编译环境对应不同的语句命令 18 break; 19 }
->结果是:
3
时间: 2024-10-07 02:25:05