灵魂腐蚀 发表于 2015-1-18 11:48:32

JAVA教程之J2SE 5.0实例---列举

学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解j2se列举
在已往,我们必需用整型常数取代列举,跟着J2SE5.0的公布,如许的办法终究一往不复返了。

一个复杂的列举范例界说以下:

publicenumWeather

{

SUNNY,RAINY,CLOUDY

}

列举能够用在switch语句中:

Weatherweather=Weather.CLOUDY;

switch(weather)

{

caseSUNNY:

System.out.println("Itssunny");

break;

caseCLOUDY:

System.out.println("Itscloudy");

break;

caseRAINY:

System.out.println("Itsrainy");

break;

}

列举范例能够有本人的机关办法,不外必需是公有的,也能够有其他办法的界说,以下面的代码:

publicenumWeather{

SUNNY("Itissunny"),

RAINY("Itisrainy"),

CLOUDY("Itiscloudy");





privateStringdescription;





privateWeather(Stringdescription){

this.description=description;

}



publicStringdescription(){

returnthis.description;

}

}

上面一段代码是对这个列举的一个利用:

for(Weatherw:Weather.values())

{

System.out.printf("Descriptionof%sis"%s".
",w,w.description());

}





Weatherweather=Weather.SUNNY;

System.out.println(weather.description()+"today");

假如我们有一个列举范例,暗示四则运算,我们但愿在个中界说一个办法,针对分歧的值做分歧的运算,那末我们能够如许界说:

publicenumOperation{

PLUS,MINUS,TIMES,DIVIDE;





//Doarithmeticoprepresentedbythisconstant

doubleeval(doublex,doubley){

switch(this){

casePLUS:returnx+y;

caseMINUS:returnx-y;

caseTIMES:returnx*y;

caseDIVIDE:returnx/y;

}

thrownewAssertionError("Unknownop:"+this);

}

}

如许写的成绩是你假如没有最初一行抛出非常的语句,编译就没法经由过程。并且假如我们想要增加一个新的运算,就必需时候记住要在eval中增加对应的操纵,万一健忘的话就会抛出非常。

J2SE5.0供应懂得决这个成绩的举措,就是你能够把eval函数声明为abstract,然后为每一个值写分歧的完成,以下所示:

publicenumOperation{

PLUS{doubleeval(doublex,doubley){returnx+y;}},

MINUS{doubleeval(doublex,doubley){returnx-y;}},

TIMES{doubleeval(doublex,doubley){returnx*y;}},

DIVIDE{doubleeval(doublex,doubley){returnx/y;}};





abstractdoubleeval(doublex,doubley);

}



如许就制止了下面所说的两个成绩,不外代码量增添了一些,可是跟着从此各类Java开辟IDE的改善,代码量的成绩应当会被淡化。

JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。

若相依 发表于 2015-1-24 12:05:47

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

分手快乐 发表于 2015-1-24 12:38:25

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

第二个灵魂 发表于 2015-1-24 15:45:30

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

蒙在股里 发表于 2015-1-31 15:51:03

是一种为 Internet发展的计算机语言

变相怪杰 发表于 2015-2-2 15:32:18

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

小魔女 发表于 2015-2-5 19:44:51

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

精灵巫婆 发表于 2015-2-11 15:56:57

是一种使用者不需花费很多时间学习的语言

不帅 发表于 2015-2-12 09:34:16

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

只想知道 发表于 2015-2-16 18:13:22

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

老尸 发表于 2015-3-2 15:33:48

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

飘灵儿 发表于 2015-3-11 04:17:53

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

再见西城 发表于 2015-3-11 22:25:01

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

小妖女 发表于 2015-3-19 15:07:56

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

莫相离 发表于 2015-3-20 12:41:12

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

深爱那片海 发表于 2015-3-31 08:54:10

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

简单生活 发表于 2015-4-6 17:04:30

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

飘飘悠悠 发表于 2015-4-9 00:34:01

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

仓酷云 发表于 2015-4-16 07:50:39

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
页: [1]
查看完整版本: JAVA教程之J2SE 5.0实例---列举