[置顶] java 枚举

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 枚举

上一篇:python的subprocess的简单使用和注意事项


下一篇:Linux 学习笔记之超详细基础linux命令 Part 10