仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1084|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之J2SE 5.0实例---列举

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:48:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习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服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
蒙在股里 该用户已被删除
5#
发表于 2015-1-31 15:51:03 | 只看该作者
是一种为 Internet发展的计算机语言
变相怪杰 该用户已被删除
6#
发表于 2015-2-2 15:32:18 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
小魔女 该用户已被删除
7#
发表于 2015-2-5 19:44:51 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
精灵巫婆 该用户已被删除
8#
发表于 2015-2-11 15:56:57 | 只看该作者
是一种使用者不需花费很多时间学习的语言
不帅 该用户已被删除
9#
发表于 2015-2-12 09:34:16 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
只想知道 该用户已被删除
10#
发表于 2015-2-16 18:13:22 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
老尸 该用户已被删除
11#
发表于 2015-3-2 15:33:48 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
飘灵儿 该用户已被删除
12#
发表于 2015-3-11 04:17:53 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
再见西城 该用户已被删除
13#
发表于 2015-3-11 22:25:01 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
小妖女 该用户已被删除
14#
发表于 2015-3-19 15:07:56 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
莫相离 该用户已被删除
15#
发表于 2015-3-20 12:41:12 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
深爱那片海 该用户已被删除
16#
发表于 2015-3-31 08:54:10 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
简单生活 该用户已被删除
17#
发表于 2015-4-6 17:04:30 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
飘飘悠悠 该用户已被删除
18#
发表于 2015-4-9 00:34:01 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
19#
发表于 2015-4-16 07:50:39 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 07:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表