[置顶] 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 枚举的更多相关文章
- [置顶] Java Web开发教程来袭
Java Web,是用Java技术来解决相关web互联网领域的技术总和.web包括:web服务器和web客户端两部分.Java在客户端的应用有java applet不过现在使用的很少,Java在服务器 ...
- [置顶] Java 8全面解析!不知道的来看看那!
java8的面世惊动了不少业界人员,让我们一起来看看吧! 函数式接口 函数式接口是只定义了一个抽象方法的接口.Java 8引入了FunctionalInterface注解来表明一个接口打算成为一个函数 ...
- [置顶] Java编程笔试题之一 ----文件操作
题目:给定一个文件和一个字符串,判断文件是否包含该字符串,如果包含,请打印出包含该字符串的行号以及该行的全部内容. 思路: ①使用缓冲流(BufferedReader)读取文件,定义初始行号为0. ...
- [置顶] Java启动命令大观
Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class.不过由于IDE的盛行,我们Java程序员中的大多数的并不是非常的了解Java启动命令.本文希望做一 ...
- [置顶] java ant 配置及构建项目
Ant是一种基于Java的构建工具.Ant文件是配置构建目标过程的XML文件,也称为Ant脚本. (因为对这个不是很了解,所以用词方面可能于个人的理解有偏差 ...
- [置顶] Java中发邮件的6种方法
1.官方标准JavaMail Sun(Oracle)官方标准,功能强大,用起来比较繁琐. 官方资料:http://www.oracle.com/technetwork/java/javamail/in ...
- [置顶] java web 动态服务器
写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...
- [置顶] JAVA概述(6)常量,关键字,进制转换
21.关键字.... 变量: 就是将不确定的数据进行存储.也就是需要在内粗恩中开辟一个空间. 整数类型 1个字节 byte 占 8位 -128~~~127 2 ...
- [置顶] Java套接字Socket编程
1)概念 网络编程基本模型就客户端到服务器的模型,也就是我们常见的C/S模型.简单的说就是两个进程间相互通信的过程.即通信双方一方作为服务器等待客户端提出请求并给以回应,另一方作为客户端向服务器提出请 ...
随机推荐
- isEmpty()
String a = new String(); 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已) String b = ""; 此时b是分配了内存空间, ...
- T-SQL 基于关系分割字符串
今天晚上学习了下 SQL 基于关系的运算,同时也捉摸着写了个例子,虽然我知道性能不是很好,还有待优化.直接上源代码吧,思路表达出来有点困难,直接贴上代码,如果有人不懂得可以MM 我. declare ...
- iOS App集成Apple Pay教程(附示例代码)
苹果在本周一发布了iOS 8.1版本,并正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展, ...
- java反编译命令javap
1. 输出所有类和成员 javap -private XX.class 2. 输出分解后的代码 javap -c XX.class
- maven打包成第三方jar包且把pom依赖包打入进来
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId& ...
- HTML标签解释大全
一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD). 标签:a 说明:标明超链接的起始或目的位置. 标签:acronym 说明:标明缩写词. ...
- Linux系统管理员:不要害怕升级内核
Linux系统管理员平时很重要的一项工作就是负责系统内核升级.做好系统内核的升级工作,对于Linux系 统的稳定性具有至关重要的作用.但是很少有人敢贸然的对Linux系统的内核进行升级,担心会影响现有 ...
- 在PADS LAYOUT中如何隐藏不需要的鼠线?
如下图示,将net GPR_0的鼠线隐藏. 鼠标右键,选择网络----选择你要隐藏的网络------右键选择view nets----点击对话框右边View List里你所选的网络-----在右下角t ...
- AIDE支持实时错误检查、代码重构、代码智能导航、生成APK
AIDE是一个Android Java集成开发环境,可以在Android系统内进行Android软件和游戏的开发.它不仅仅是一个编辑器,而是支持编写-编译-调试运行整个周期,开发人员可以在Androi ...
- [cpp]伯乐在线编程挑战第 0 期 – 呼叫转移系统
题目: 描述 呼叫转移服务是一个把呼叫号码A转移到号码B的服务.举个例子:当你正在度假时,这样的系统非常有帮助.A君度假去了,那么,A君的工作电话可以通 过呼叫转移至B君.更进一步讲,当B君也正好在度 ...