1. 什么是枚举?枚举就是用来存放一组固定的常量。

2. 枚举有什么作用?一些程序在运行时,它需要的数据不能是任意的,而必须是一定范围内的值;例如性别  男和女。

public enum Gender{
男, 女;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Gender gender=Gender.男;
switch(gender){
case 男:
System.out.println("性别是男的");
break;
case 女:
System.out.println("性别是女的");
break;
default:
System.out.println("枚举没有这个值");
break;
}
}

3. 枚举的特性:一种特殊形式的java类;与java的普通类一样,在声明枚举类时,也可以声明属性 ,方法和构造函数。

4. 测试枚举的常用方法:name()获取枚举名称

ordinal()   获取枚举值在枚举中所处的位置

valueof(Class enumClass, String name)   讲字符串转换为枚举值

values()遍历枚举的所有枚举值

 //测试枚举的常用方法
@Test
public void test2(){
System.out.println(Grade.A.name()); //获取枚举的名称
System.out.println(Grade.C.ordinal()); //枚举值在枚举中所处的位置 //将字符串转换成枚举值1111
String str="B";
Grade g= Grade.valueOf(Grade.class,str);
System.out.println("g------------"+g);
//将字符串装换成枚举值22222
Grade h=Grade.valueOf(str);
System.out.println("h-------------"+h); //返回所有枚举值
Grade ga[]=Grade.values();
for(Grade gl:ga){
System.out.println("gl------------------"+gl);
}
}

下面贴出一个读书章节的代码:

package com.cn;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Random; import org.junit.Test; public class ClassTest {
int a=0;
int[] aa=new int[10];
static String lists=null;
String stuName="";
String stuValue="";
@Test
public String test(){
String names=null;
for(int i=0;i<2;i++){ System.out.println("test()-----------");
a=(int) (Math.random()*7);
for(int j=0;j<aa.length+1;j++){
aa[i]=a;
System.out.println(aa[i]);
}
System.out.println(aa.length);
String[] name=new String[]{"陈蓓","李春华","黄初欢","李永岩","刘承发","何纯洁","谢明雪"};
String[] list=new String[]{"第一章和第二章","第三章和第四章","第五章和第六章","第七章和第八章","第九章和第十章","第十一章和第十二章","第十三章和第十四章"};
/*Random random=new Random();
System.out.println("random--------------"+random.nextDouble());
int a=random.nextInt();
System.out.println("a----------------"+a);
String nem="FRI";*/
lists=list[(int) (Math.random()*7)];
System.out.println("list---------------"+lists);
names=name[a];
System.out.println("names--------------"+names);
//System.out.println("a--------"+a);
if(names.equals("李春华")){
print(Book.李春华);
}else if(names.equals("陈蓓")){
print(Book.陈蓓);
}else if(names.equals("黄初欢")){
print(Book.黄初欢);
}else if(names.equals("李永岩")){
print(Book.李永岩);
}else if(names.equals("刘承发")){
print(Book.刘承发);
}else if(names.equals("何纯洁")){
print(Book.何纯洁);
}else if(names.equals("谢明雪")){
print(Book.谢明雪);
}
}
return names; }
public void print(Book k){
System.out.println("k-----------------"+k);
stuValue=k.localValue();
System.out.println("values--------------"+stuValue);
//return values;
}
public String classs(){
String value=stuValue;
System.out.println("valuesssssssssssss-------------"+value);
return value;
} enum Book{
李春华("1")
{
public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,黄初欢("2")
{
public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,陈蓓("3")
{
public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,李永岩("4")
{
public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,何纯洁("5")
{ public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,刘承发("6")
{
public String localValue() {
// TODO Auto-generated method stub
return lists;
}
}
,谢明雪("7"){ public String localValue() {
// TODO Auto-generated method stub
return lists;
}
} ; private String value;
private Book(String value){
this.value=value;
}
private String getValue(){
return this.value;
}
//抽象方法
public abstract String localValue(); } public static void main(String[] args){
/*ClassTest ct=new ClassTest();
ct.test();*/
}
}

index.jsp里面的代码:

<%@ page language="java" import="java.util.*,com.cn.ClassTest" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<%
ClassTest ct= new ClassTest();
String names=ct.test();
String values=ct.classs(); /*ct.test(String names);
String name=names;*/
//String value=values;
%>
<form method="post">
<label>中奖名单</label><input type="text" name="zhongjiang" value=<%=names %>>
<br/>
<<label>课程章节</label><input type="text" name="zhongjiang" value=<%=values %>>
<br/>
<input type="submit" value="抽奖"/>
</form>
</body>
</html>

[置顶] java 枚举的更多相关文章

  1. [置顶] Java Web开发教程来袭

    Java Web,是用Java技术来解决相关web互联网领域的技术总和.web包括:web服务器和web客户端两部分.Java在客户端的应用有java applet不过现在使用的很少,Java在服务器 ...

  2. [置顶] Java 8全面解析!不知道的来看看那!

    java8的面世惊动了不少业界人员,让我们一起来看看吧! 函数式接口 函数式接口是只定义了一个抽象方法的接口.Java 8引入了FunctionalInterface注解来表明一个接口打算成为一个函数 ...

  3. [置顶] Java编程笔试题之一 ----文件操作

    题目:给定一个文件和一个字符串,判断文件是否包含该字符串,如果包含,请打印出包含该字符串的行号以及该行的全部内容. 思路: ①使用缓冲流(BufferedReader)读取文件,定义初始行号为0.   ...

  4. [置顶] Java启动命令大观

    Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class.不过由于IDE的盛行,我们Java程序员中的大多数的并不是非常的了解Java启动命令.本文希望做一 ...

  5. [置顶] java ant 配置及构建项目

      Ant是一种基于Java的构建工具.Ant文件是配置构建目标过程的XML文件,也称为Ant脚本.                     (因为对这个不是很了解,所以用词方面可能于个人的理解有偏差 ...

  6. [置顶] Java中发邮件的6种方法

    1.官方标准JavaMail Sun(Oracle)官方标准,功能强大,用起来比较繁琐. 官方资料:http://www.oracle.com/technetwork/java/javamail/in ...

  7. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  8. [置顶] JAVA概述(6)常量,关键字,进制转换

    21.关键字.... 变量: 就是将不确定的数据进行存储.也就是需要在内粗恩中开辟一个空间. 整数类型   1个字节 byte                    占 8位 -128~~~127 2 ...

  9. [置顶] Java套接字Socket编程

    1)概念 网络编程基本模型就客户端到服务器的模型,也就是我们常见的C/S模型.简单的说就是两个进程间相互通信的过程.即通信双方一方作为服务器等待客户端提出请求并给以回应,另一方作为客户端向服务器提出请 ...

随机推荐

  1. C#反序列化json字符串时,提示:应为来自命名空间“”的元素“root”。。遇到名称为“”、命名空间为“”的“None”。

    反序列化调用接口返回的字符串时,出现:应为来自命名空间“”的元素“root”..遇到名称为“”.命名空间为“”的“None”.,导致反序列化数据失败,这种失败并有时候并不会直接提示反序列化失败(抛异常 ...

  2. 启动tomcat的时候,服务器暂停到装载mysql驱动文件的原因

    1.使用spring+mybatis,由于mybatis的配置文件中jdbc类型的错误使得,tomcat无法正常启动,在编写mybatis一定确保jdbc类型,java类型正确,jdbc类型要大写! ...

  3. Java和JavaScript的时间互传

    原创文章,转载请注明:Java和JavaScript的时间互传 By Lucio.Yang 1.从JavaScript到Java JavaScript: function query(){ var s ...

  4. PHP中include和require的区别

    include和require的区别,其实两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出. 根据测试,win32 ...

  5. 阅读 - Code Complete 2 - 第33章 - 个人性格

    个人性格对于软件项目的开发到底有没有作用或者影响呢? 有的人急于完成自己的工作,当自己的代码遇到问题的时候,不去自己思考并调试而是直接求助于他人,有的人则是自己沉住气,耐心的从头到尾的研究找到错误的所 ...

  6. Java 初始化的个人理解

    先说明一下由来吧,下面是同学的一道笔试题,以前感觉对java初始化也是了解一二的,结果,看到这题泪奔了,不会...上网查,自己添加println,总算是能把自己讲明吧了,不知理解的对不对,先记录下吧, ...

  7. protel99与win7兼容问题的解决方案

    一些用户大概都已经把自己的 PC 从 winXP 换到了 win7,在 win7 给我们带来的视觉上的冲击和功能上的更换.也不时的带来了各方面的软件兼容问题 ,而一般上的兼容都可以在 win7 的自动 ...

  8. 通过focusInEvent和eventFilter两种方法改写控件颜色(自定义控件就是这么来的)

    http://www.cnblogs.com/hicjiajia/archive/2012/05/30/2526768.html http://www.cnblogs.com/hicjiajia/ar ...

  9. C语言数据结构----栈与递归

    本节主要说程序中的栈函数栈的关系以及栈和递归算法的关系. 一.函数调用时的栈 1.程序调用时的栈是也就是平时所说的函数栈是数据结构的一种应用,函数调用栈一般是从搞地质向低地址增长的,栈顶为内存的低地址 ...

  10. JavaEE Tutorials (14) - 用实体图创建获取计划

    14.1实体图基础185 14.1.1默认实体图186 14.1.2在持久化操作中使用实体图18614.2使用命名实体图187 14.2.1对实体类应用命名实体图注解187 14.2.2从命名实体图获 ...