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. mywebsite1

    http://www.wuweierwei.com/ 个人网站 http://www.yyyweb.com/demo/icons-filling/index.html CSS3图标填充效果 http: ...

  2. vsvim _vsvimrc 设置(转)

    c_joewang的专栏 (转) vsvim安装到vs2010后可以使用绝大部分原生vim的编辑功能,包括宏录制,也可以通过配置设置键盘映射,关于支持的编辑功能等可以参考上面链接去查看相关文档. Vi ...

  3. Windows窗口消息大全(转)

    Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #inc ...

  4. c++中派生类对基类成员的三种访问规则(转)

    C++中派生类对基类成员的访问形式主要有以下两种:1.内部访问:由派生类中新增成员对基类继承来的成员的访问.2.对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问.今天给大家介绍在3中 ...

  5. pyhon MySQLdb查询出来的数据设置为字典类型

    import MySQLdbimport MySQLdb.cursors cxn=MySQLdb.Connect(host='localhost',user='root',passwd='1234', ...

  6. xsoup,Jsoup

    Xsoup 0.2.0 Xsoup 的详细介绍:请点这里 Xsoup 的下载地址:请点这里 https://github.com/code4craft/xsoup http://www.oschina ...

  7. LINQ to SQL的CRUD操作

    创建数据对象模型 sqlmetal /code:"C:\MyProjects\VS2008\Data\LinqConsoleApp2\LinqConsoleApp2\northwnd.cs& ...

  8. (Android) ContentProvider 实例

    ContentProvider 用于应用程序(Android Application)之间传递数据,包括Insert, update, delete, query. 下面的例子是在两个应用之间传递数据 ...

  9. java中的集合链表

    java中的集合类有很多种,每个都有自己的一些特点,推荐你专门在这方面研究一下,比方Vector,ArrayList,,LinkedList,Hashtable等,其中你问到的链表,是不是指Linke ...

  10. Java中static、this、super、final的用法

    一.          static 请先看下面这段程序: public class Hello{public static void main(String[] args){//(1)System. ...