java枚举基础入门.docx

上传人:b****5 文档编号:6658289 上传时间:2023-01-08 格式:DOCX 页数:13 大小:17.56KB
下载 相关 举报
java枚举基础入门.docx_第1页
第1页 / 共13页
java枚举基础入门.docx_第2页
第2页 / 共13页
java枚举基础入门.docx_第3页
第3页 / 共13页
java枚举基础入门.docx_第4页
第4页 / 共13页
java枚举基础入门.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

java枚举基础入门.docx

《java枚举基础入门.docx》由会员分享,可在线阅读,更多相关《java枚举基础入门.docx(13页珍藏版)》请在冰豆网上搜索。

java枚举基础入门.docx

java枚举基础入门

1枚举类

Direction.java

packagecn.itcast_02;

/*

*通过JDK5提供的枚举来做枚举类

*/

publicenumDirection{

FRONT,BEHIND,LEFT,RIGHT;

}

Direction2.java

packagecn.itcast_02;

/*

*通过JDK5提供的枚举来做枚举类

*/

publicenumDirection2{

FRONT("前"),BEHIND("后"),LEFT("左"),RIGHT("右");

privateStringname;

privateDirection2(Stringname){

this.name=name;

}

publicStringgetName(){

returnname;

}

//@Override

//publicStringtoString(){

//return"我爱林青霞";

//}

}

Direction3.java

packagecn.itcast_02;

/*

*通过JDK5提供的枚举来做枚举类

*/

publicenumDirection3{

FRONT("前"){

@Override

publicvoidshow(){

System.out.println("前");

}

},

BEHIND("后"){

@Override

publicvoidshow(){

System.out.println("后");

}

},

LEFT("左"){

@Override

publicvoidshow(){

System.out.println("左");

}

},

RIGHT("右"){

@Override

publicvoidshow(){

System.out.println("右");

}

};

privateStringname;

privateDirection3(Stringname){

this.name=name;

}

publicStringgetName(){

returnname;

}

publicabstractvoidshow();

}

DirectionDemo.java

packagecn.itcast_02;

publicclassDirectionDemo{

publicstaticvoidmain(String[]args){

Directiond=Direction.FRONT;

System.out.println(d);//FRONT

//publicStringtoString()返回枚举常量的名称,它包含在声明中。

System.out.println("-------------");

Direction2d2=Direction2.FRONT;

System.out.println(d2);

System.out.println(d2.getName());

System.out.println("-------------");

Direction3d3=Direction3.FRONT;

System.out.println(d3);

System.out.println(d3.getName());

d3.show();

System.out.println("--------------");

Direction3dd=Direction3.FRONT;

dd=Direction3.LEFT;

switch(dd){

caseFRONT:

System.out.println("你选择了前");

break;

caseBEHIND:

System.out.println("你选择了后");

break;

caseLEFT:

System.out.println("你选择了左");

break;

caseRIGHT:

System.out.println("你选择了右");

break;

}

}

}

EnumMethodDemo.java

packagecn.itcast_02;

publicclassEnumMethodDemo{

publicstaticvoidmain(String[]args){

//intcompareTo(Eo)

Direction2d21=Direction2.FRONT;

Direction2d22=Direction2.BEHIND;

Direction2d23=Direction2.LEFT;

Direction2d24=Direction2.RIGHT;

System.out.println(pareTo(d21));

System.out.println(pareTo(d24));

System.out.println(pareTo(d21));

System.out.println("---------------");

//Stringname()

System.out.println(d21.name());

System.out.println(d22.name());

System.out.println(d23.name());

System.out.println(d24.name());

System.out.println("--------------");

//intordinal()

System.out.println(d21.ordinal());

System.out.println(d22.ordinal());

System.out.println(d23.ordinal());

System.out.println(d24.ordinal());

System.out.println("--------------");

//StringtoString()

System.out.println(d21.toString());

System.out.println(d22.toString());

System.out.println(d23.toString());

System.out.println(d24.toString());

System.out.println("--------------");

//TvalueOf(Classtype,Stringname)

Direction2d=Enum.valueOf(Direction2.class,"FRONT");

System.out.println(d.getName());

System.out.println("----------------");

//values()

//此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便

Direction2[]dirs=Direction2.values();

for(Direction2d2:

dirs){

System.out.println(d2);

System.out.println(d2.getName());

}

}

}

3二进制字面量

packagecn.itcast_03;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjava.util.ArrayList;

publicclassDemo{

publicstaticvoidmain(String[]args){

//二进制字面量

intx=0b100101;

System.out.println(x);

//数字字面量可以出现下划线

inty=1_1123_1000;

//不能出现在进制标识和数值之间

intz=0x111_222;

//不能出现在数值开头和结尾

inta=0x11_22;

//不能出现在小数点旁边

doubled=12.3_4;

//switch语句可以用字符串?

自己回顾

//泛型简化

ArrayListarray=newArrayList<>();

//异常的多个catch合并

method();

}

privatestaticvoidmethod(){

//try-with-resources语句

//try(必须是java.lang.AutoCloseable的子类对象){…}

try{

FileReaderfr=newFileReader("a.txt");

FileWriterfw=newFileWriter("b.txt");

intch=0;

while((ch=fr.read())!

=-1){

fw.write(ch);

}

fw.close();

fr.close();

}catch(IOExceptione){

e.printStackTrace();

}

//改进版的代码

try(FileReaderfr=newFileReader("a.txt");

FileWriterfw=newFileWriter("b.txt");){

intch=0;

while((ch=fr.read())!

=-1){

fw.write(ch);

}

}catch(IOExceptione){

e.printStackTrace();

}

}

}

4计算一段代码的运行时间

ForDemo.java

packagecn.itcast_01;

publicclassForDemoextendsGetTime{

@Override

publicvoidcode(){

for(intx=0;x<100000;x++){

System.out.println(x);

}

}

}

GetTime.java

packagecn.itcast_01;

importjava.io.BufferedInputStream;

importjava.io.BufferedOutputStream;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

publicabstractclassGetTime{

//需求:

请给我计算出一段代码的运行时间

publiclonggetTime(){

longstart=System.currentTimeMillis();

//for循环

//for(intx=0;x<10000;x++){

//System.out.println(x);

//}

//视频

//try{

//BufferedInputStreambis=newBufferedInputStream(

//newFileInputStream("a.avi"));

//BufferedOutputStreambos=newBufferedOutputStream(

//newFileOutputStream("b.avi"));

//byte[]bys=newbyte[1024];

//intlen=0;

//while((len=bis.read(bys))!

=-1){

//bos.write(bys,0,len);

//}

//bos.close();

//bis.close();

//}catch(IOExceptione){

//e.printStackTrace();

//}

//再给我测试一个代码:

集合操作的,多线程操作,常用API操作的等等...

code();

longend=System.currentTimeMillis();

returnend-start;

}

publicabstractvoidcode();

}

GetTimeDemo.java

packagecn.itcast_01;

publicclassGetTimeDemo{

publicstaticvoidmain(String[]args){

//GetTimegt=newGetTime();

//System.out.println(gt.getTime()+"毫秒");

GetTimegt=newForDemo();

System.out.println(gt.getTime()+"毫秒");

gt=newIODemo();

System.out.println(gt.getTime()+"毫秒");

}

}

IODemo.java

packagecn.itcast_01;

importjava.io.BufferedInputStream;

importjava.io.BufferedOutputStream;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

publicclassIODemoextendsGetTime{

@Override

publicvoidcode(){

try{

BufferedInputStreambis=newBufferedInputStream(

newFileInputStream("a.avi"));

BufferedOutputStreambos=newBufferedOutputStream(

newFileOutputStream("b.avi"));

byte[]bys=newbyte[1024];

intlen=0;

while((len=bis.read(bys))!

=-1){

bos.write(bys,0,len);

}

bos.close();

bis.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

}

5手机彩铃

IPhone.java

packagecn.itcast_02;

publicclassIPhoneimplementsPhone{

@Override

publicvoidcall(){

System.out.println("手机可以打电话了");

}

}

MusicPhoneDecorate.java

packagecn.itcast_02;

publicclassMusicPhoneDecorateextendsPhoneDecorate{

publicMusicPhoneDecorate(Phonep){

super(p);

}

@Override

publicvoidcall(){

super.call();

System.out.println("手机可以听音乐");

}

}

Phone.java

packagecn.itcast_02;

publicinterfacePhone{

publicabstractvoidcall();

}

PhoneDecorate.java

packagecn.itcast_02;

publicabstractclassPhoneDecorateimplementsPhone{

privatePhonep;

publicPhoneDecorate(Phonep){

this.p=p;

}

@Override

publicvoidcall(){

this.p.call();

}

}

PhoneDemo.java

packagecn.itcast_02;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.InputStreamReader;

importjava.io.OutputStreamWriter;

importjava.util.Scanner;

publicclassPhoneDemo{

publicstaticvoidmain(String[]args){

Phonep=newIPhone();

p.call();

System.out.println("------------");

//需求:

我想在接电话前,听彩铃

PhoneDecoratepd=newRingPhoneDecorate(p);

pd.call();

System.out.println("------------");

//需求:

我想在接电话后,听音乐

pd=newMusicPhoneDecorate(p);

pd.call();

System.out.println("------------");

//需求:

我要想手机在接前听彩铃,接后听音乐

//自己提供装饰类,在打电话前听彩铃,打电话后听音乐

pd=newRingPhoneDecorate(newMusicPhoneDecorate(p));

pd.call();

System.out.println("----------");

//想想我们在IO流中的使用

//InputStreamis=System.in;

//InputStreamReaderisr=newInputStreamReader(is);

//BufferedReaderbr=newBufferedReader(isr);

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

BufferedWriterbw=newBufferedWriter((newOutputStreamWriter(

System.out)));

Scannersc=newScanner(System.in);

}

}

RightPhoenDemo.java

packagecn.itcast_02;

publicclassRingPhoneDecorateextendsPhoneDecorate{

publicRingPhoneDecorate(Phonep){

super(p);

}

@Override

publicvoidcall(){

System.out.println("手机可以听彩铃");

super.call();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1