Board logo

标题: Java中的一直不能掌握的switch-case语句 [打印本页]

作者: qingqing3721    时间: 2011-11-14 12:28     标题: Java中的一直不能掌握的switch-case语句

关于流程控制中的switch-case语句,一直是我的一个弱项. 每当考试或者面试口试的时分,总是丈二和尚摸不着头脑,我想这应该是我基础太差的原因吧! 为了彻底解决这个心病,不得不花点功夫了! 首先从原理上来论述这个效果: switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; } 1.default就是假如没有符合的case就执行它,default并不是必需的. 2.case后的语句可以不必大括号. 3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 4.一旦case婚配,就会顺序执行前面的顺序代码,而不管前面的case是否婚配,直到遇见break,应用这一特性可以让好几个case执行一致语句. 原理归原理,永颜化妆品上面是几个容易混淆的例子.
1.标准型(case前面都有break语句) int i=3; switch(i) {  case 1:  System.out.println(1);  break;  case 2:  System.out.println(2);  break;  case 3:  System.out.println(3);  break;  default:  System.out.println("default");  break; } 输出结果:  3
2.特殊型1(不是完全有break语句,可以完成一些特殊应用) int year=2005; int month=3; int day; switch(month) {  case 1:  case 3:  case 5:  case 7:  case 8:  case 10:  case 12:  day=31;  break;  case 2:  day=28;  break;  case 4:  case 6:  case 9:  case 11:  day=30;  break; } 这里 day=31;
3.特殊型2(default的位置) int i=1; switch(i) {  case 1:  System.out.println(1);  default:  System.out.println("default");  case 2:  System.out.println(2);  break;  case 3:  System.out.println(3);  break; } 输出结果:  1  default  2




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0