`
chenzenghua
  • 浏览: 53103 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA 枚举的简单应用

    博客分类:
  • JAVA
阅读更多
public class Test {
	public static void main(String[] args) {
		for (Education e : Education.values()) {
			System.out.println("Name : " + e.getName() + " | Value : "
					+ e.getValue());
		}
		System.out.println(Education.Shuoshi.getName());
		System.out.println(Education.Benke.getValue());
		System.out.println("=================================================");
		double x = 5;
		double y = 10;
		for (Operation op : Operation.values()) {
			System.out.println(x + op.toString() + y + " = " + op.apply(x, y));
		}
	}
}

enum Education {
	Boshi("博士", 1), Shuoshi("硕士", 2), Benke("本科", 3), Gaozhong("高中", 4);
	private String name;
	private int value;

	private Education(String name, int value) {
		this.name = name;
		this.value = value;
	}

	public String getName() {
		return this.name;
	}

	public int getValue() {
		return this.value;
	}
}

enum Operation {
	PLUS("+") {
		@Override
		double apply(double x, double y) {
			return x + y;
		}
	},
	MINUS("-") {
		@Override
		double apply(double x, double y) {
			return x - y;
		}
	},
	TIMES("*") {
		@Override
		double apply(double x, double y) {
			return x * y;
		}
	},
	DIVIDE("/") {
		@Override
		double apply(double x, double y) {
			return x / y;
		}
	};
	private String symbol;

	private Operation(String symbol) {
		this.symbol = symbol;
	}

	abstract double apply(double x, double y);

	@Override
	public String toString() {
		return this.symbol;
	}
}

输出结果:
Name : 博士 | Value : 1
Name : 硕士 | Value : 2
Name : 本科 | Value : 3
Name : 高中 | Value : 4
硕士
3
=================================================
5.0+10.0 = 15.0
5.0-10.0 = -5.0
5.0*10.0 = 50.0
5.0/10.0 = 0.5

利用枚举实现java单例:包含一个元素的枚举:
enum Singleton{
	INSTANCE;
	public void doSomething(){
		//...
	}
}

分享到:
评论

相关推荐

    Java JDBC简单入门之枚举(Enum)、泛型、反射、JDBC整合

    采用java 应用程序的方式搭建简单的jdbc项目,JDBC简单入门之枚举(Enum)、泛型、反射、JDBC整合

    Java 简单发牌程序

    简单的Java发牌小程序代码 java 发牌 扑克牌 代码 枚举类的应用

    java手册中英文java8,java9手册

    Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    Java开发详解.zip

    010201_【第2章:简单Java程序】_简单Java程序笔记.pdf 010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础程序设计】_运算符、表达式与语句笔记.pdf 010303_【第3章:Java基础程序...

    【源码:AopFk】如何使用 Java 编写一个简单的 AOP 框架

    标题: 如何使用 Java 编写一个简单的 AOP 框架 作者: 超逮虾户 摘要: AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它允许程序员以模块化的方式添加功能到应用程序。AOP 框架通过在程序...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    java jdk实列宝典 光盘源代码

    15 applet java可以编写两类程序,applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java的特色在于它具有编制小应用程序的功能,applet可以在internet上传输并在兼容...

    JAVA基础课程讲义

    JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的编写和运行过程 19 第...

    java 编程入门思考

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    Java初学者入门教学

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    java联想(中文)

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例120 局部内部类的简单应用 152 实例121 匿名内部类的简单应用 153 实例122 静态内部类的简单应用 154 第2篇 Java高级应用 第6章 多线程技术 158 6.1 线程的基础 159 实例123 新建无返回值的线程 159 实例124 ...

    疯狂JAVA讲义

    4.6.6 数组的应用举例 103 4.7 本章小结 106 本章练习 106 第5章 面向对象(上) 107 5.1 类和对象 108 5.1.1 定义类 108 学生提问:构造器不是没有返回值吗?为什么不能用void修饰呢? 110 5.1.2 对象的产生...

    JAVA 范例大全 光盘 资源

    实例20 Arrays数组的应用 50 第5章 面向对象设计 54 实例21 图形面积与周长(抽象类) 54 实例22 宠物结婚(封装) 56 实例23 一个盒子(继承) 58 实例24 学生的生活(多态) 60 实例25 员工薪资(接口) 62 ...

    JAVA_Thinking in Java

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    JAVA面向对象详细资料

    Java面向对象 1 1 学习方法与要求 1 2 面向对象语言与面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 ...

Global site tag (gtag.js) - Google Analytics