Java switch 对数字、字符、枚举、字符串类型的支持

兄弟们,今日头条搜索三线城市程序员老陈关注我,我将持续不断推出视频教程。

一,概述

首先说明,Java switch(x)中的x到底是否支持数字、字符、枚举、字符串类型,跟JDK的版本是相关的。

数字和字符,其实差不多事情,都是一直支持的。

从JDK1.5开始,支持枚举了,然后从JDK1.7开始,也支持String了。

当然,因为还有很多系统用经典的JDK1.6,所以最好别采用String作为参数,以免自找麻烦。

OK,使用数字和字符又有点太抽象了,所以建议使用枚举,如果觉得枚举太麻烦,还可以使用常量,以下分别举例哈。

二,switch使用枚举

直接上例子:

package org.maoge.demo;
/**
 * Description:Switch参数为枚举类型的例子 枚举类型
 * date:2017.10.18
 * @author maoge
 */
public enum UserType {
	STUDENT,TEACHER,ADMIN;
}
package org.maoge.demo;
/**
 * Description:Switch参数为枚举类型的例子
 * date:2017.10.18
 * @author maoge
 */
public class SwitchEnumDemo {
	public static void main(String[] args){
		System.out.println("It begins");
		UserType ut=UserType.TEACHER;
		switch(ut){
			case STUDENT:
				System.out.println("按学生处理");
				break;
			case TEACHER:
				System.out.println("按老师处理");
				break;
			case ADMIN:
				System.out.println("按管理员处理");
				break;
		}
	}
}

三,switch使用常量

package org.maoge.demo;
/**
 * Description:Switch参数为常量类型的例子 注意接口中的静动态常量可以直接通过接口名调用 此处UserTypeConstant也可以定义为类
 * date:2017.10.18
 * @author maoge
 */
public interface UserTypeConstant {
	final static int STUDENT=1;
	final static int TEACHER=2;
	final static int ADMIN=3;
}
package org.maoge.demo;
/**
 * Description:Switch参数为常量类型的例子
 * date:2017.10.18
 * @author maoge
 */
public class SwitchConstantDemo {
	public static void main(String[] args) {
		int type=UserTypeConstant.ADMIN;
		switch(type){
			case UserTypeConstant.STUDENT:
				System.out.println("按学生处理");
				break;
			case UserTypeConstant.TEACHER:
				System.out.println("按老师处理");
				break;
			case UserTypeConstant.ADMIN:
				System.out.println("按管理员处理");
				break;
		}
	}
}


你可能感兴趣的:(Java----基础)