if 和 switch 比较
1 package com.ibeve.demo; 2 3 public class SwitchDemo { 4 public static void main(String[] args) { 5 6 int x = 4; 7 8 // byte short int char 9 switch (x) { 10 case 4: 11 System.out.println("a"); 12 break; 13 case 5: 14 System.out.println("b"); 15 break; 16 case 6: 17 System.out.println("c"); 18 break; 19 default: 20 System.out.println("d"); 21 break; 22 } 23 24 int a = 4, b = 3; 25 char ch = '+'; 26 27 switch (ch) { 28 case '+': 29 System.out.println(a + b); 30 break; 31 case '-': 32 System.out.println(a - b); 33 break; 34 case '*': 35 System.out.println(a * b); 36 break; 37 case '/': 38 System.out.println(a / b); 39 break; 40 default: 41 System.out.println("非法数值"); 42 break; 43 } 44 45 int y = 3; 46 switch (y) { 47 case 3: 48 case 4: 49 case 5: 50 System.out.println(y + "春季"); 51 break; 52 case 6: 53 case 7: 54 case 8: 55 System.out.println(y + "夏季"); 56 break; 57 case 9: 58 case 10: 59 case 11: 60 System.out.println(y + "秋季"); 61 break; 62 case 12: 63 case 13: 64 case 14: 65 System.out.println(y + "冬季"); 66 break; 67 default: 68 System.out.println("参数不合法"); 69 break; 70 } 71 72 /** 73 * if 和 switch 语句很像 74 * 具体什么场景下,应用哪个语句呢? 75 * 如果判断的具体数值不多,而是符合 byte short int char 这四种类型 76 * 虽然两个语句都可以使用,建议使用 switch 语句,因为效率稍高 77 * 78 * 其他情况下,对区间判断,对结果为 boolean 类型判断,使用 if, if 的使用范围更广 79 */ 80 } 81 }