控制流程语句之→switch选择判断语句
注意事项:
1、多个case后面的值不能重复;
2、switch后面小括号当中只能是下列数据类型:
基本数据类型:byte、short、char、int
引用数据类型:String字符串、enum枚举
3、switch语句格式化可以很灵活:前后顺序可以颠倒,而且break语句还可以省略不写。
“匹配到哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”
package codeJudge; public class demo { public static void main(String[] args) { // TODO Auto-generated method stub Test(); defaultTest(); StringTest(); breakTest(); } / * 系统的switch * 输出数据不合理 * */ private static void Test(){ int num=11; switch(num) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期七"); break; default: System.out.println("数据不合理!"); break; } } /*default 不是必须的,也可以不写 */ private static void defaultTest() { char ch='C'; switch (ch) { case 'B': System.out.println("case one"); break; case 'A': System.out.println("case two"); break; case 'C': System.out.println("case three"); break; } } /*判断String类型 * 输出OK */ private static void StringTest() { String string= new String("hello"); switch (string) { case "hello": System.out.println("OK"); break; default : System.out.println("ERROR"); break; } } /*case语句中不写break,编译并不会报错 * 会一直执行之后的所有case条件下的语句,并不再进行判断,直到default语句 * 代码输出结果为: case two * case three * 测试结束! */ private static void breakTest() { char ch='B'; switch (ch) { case 'A': System.out.println("case one"); case 'B': System.out.println("case two"); case 'C': System.out.println("case three"); default : System.out.println("测试结束!"); break; } } }