switch能否应用在byte ,char ,short ,long 和String上


2:switch:
可以用在byte,char,short  上,因为可以自动隐式的转换为int
		package com;

		public class Demo {
			public static void main(String[] args) {
				byte b = 1;
				switch (b) {
				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("没有默认的");
				}
			}
		}
结果:
1
可以用在String上:
		package com;

		public class Demo {
			public static void main(String[] args) {
				String b = "1";
				switch (b) {
				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("没有默认的");
				}
			}
		}
结果:
1


不可用在long类型上,long不能转换为int
		package com;

		public class Demo {
			public static void main(String[] args) {
				long b = 1;
				switch (b) {
				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("没有默认的");
				}
			}
		}
报错:
cannot switch on a value of type long.Only convertible int values,strings or enum variables are permitted.




猜你喜欢

转载自blog.csdn.net/weixin_42321963/article/details/81006339