三目运算符 和 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;}输出结果: 32.特殊型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