第二个灵魂 发表于 2015-1-18 11:36:59

来看我们的第一个Java程序

先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。
最初,让我们正式编一个程序(正文⑤)。它能打印出与以后运转的体系有关的材料,并使用了来自Java尺度库的System对象的多种办法。注重这里引进了一种分外的正文款式:“//”。它暗示到本行停止前的一切内容都是正文:

//Property.java
importjava.util.*;

publicclassProperty{
publicstaticvoidmain(String[]args){
System.out.println(newDate());
Propertiesp=System.getProperties();
p.list(System.out);
System.out.println("---MemoryUsage:");
Runtimert=Runtime.getRuntime();
System.out.println("TotalMemory="
+rt.totalMemory()
+"FreeMemory="
+rt.freeMemory());
}
}
⑤:在某些编程情况里,程序会在屏幕上统统而过,乃至没时机看到了局。可将上面这段代码置于main()的开端,用它停息输入:
try{
Thread.currentThread().sleep(5*1000);
}catch(InterruptedExceptione){}
}
它的感化是停息输入5秒钟。这段代码触及的一些观点要到本书前面才会讲到。以是今朝不用穷究,只晓得它是让程序停息的一个技能即可。


在每一个程叙文件的开首,都必需安排一个import语句,导进谁人文件的代码里要用到的一切分外的类。注重我们说它们是“分外”的,由于一个特别的类库会主动导进每一个Java文件:java.lang。启动您的Web扫瞄器,检察由Sun供应的用户文档(假如还没有从http://www.java.sun.com下载,或用其他体例安装了Java文档,请当即下载)。在packages.html文件里,可找到Java配套供应的一切类库称号。请选择个中的java.lang。在“ClassIndex”上面,可找到属于谁人库的全体类的列表。因为java.lang默许进进每一个Java代码文件,以是这些类在任什么时候候都可间接利用。在这个列内外,可发明System和Runtime,我们在Property.java里用到了它们。java.lang里没有列出Date类,以是必需导进另外一个类库才干利用它。假如不分明一个特定的类在哪一个类库里,大概想检视一切的类,可在Java用户文档里选择“ClassHierarchy”(类分级布局)。在Web扫瞄器中,固然要花不短的工夫来创建这个布局,但可分明找到与Java配套供应的每个类。随后,可用扫瞄器的“查找”(Find)功效搜刮关头字“Date”。经如许处置后,可发明我们的搜刮方针以java.util.Date的情势列出。我们终究晓得它位于util库里,以是必需导进java.util.*;不然便不克不及利用Date。
察看packages.html文档最开首的部分(我已将其设为本人的默许肇端页),请选择java.lang,再选System。这时候可看到System类有几个字段。若选择out,便可晓得它是一个staticPrintStream对象。因为它是“静态”的,以是不必要我们创立任何工具。out对象一定是3,以是只需间接用它便可。我们能对这个out对象做的事变由它的范例决意:PrintStream。PrintStream在申明笔墨中以一个超链接的情势列出,这一点做得十分便利。以是倘使单击谁人链接,便可看到可以为PrintStream挪用的一切办法。办法的数目很多,本书前面会具体先容。就今朝来讲,我们感乐趣的只要println()。它的意义是“把我给你的工具打印到把持台,并用一个新行停止”。以是在任何Java程序中,一旦要把某些内容打印到把持台,便可前提反射地写上System.out.println("内容")。
类名与文件是一样的。若象如今如许创立一个自力的程序,文件中的一个类必需与文件同名(假如没如许做,编译器会实时作出反响)。类里必需包括一个名为main()的办法,情势以下:
publicstaticvoidmain(String[]args){
个中,关头字“public”意味着办法可由内部天下挪用(第5章会具体注释)。main()的自变量是包括了String对象的一个数组。args不会在本程序顶用到,但必要在这个中央列出,由于它们保留了在命令行挪用的自变量。
程序的第一行十分风趣:
System.out.println(newDate());
请察看它的自变量:创立Date对象独一的目标就是将它的值发送给println()。一旦这个语句实行终了,Date就不再必要。随之而来的“渣滓搜集器”会发明这一情形,并在任何大概的时分将其接纳。现实上,我们没太年夜的需要体贴“扫除”的细节。
第二行挪用了System.getProperties()。若用Web扫瞄器检察联机用户文档,便可晓得getProperties()是System类的一个static办法。因为它是“静态”的,以是不用创立任何对象即可挪用该办法。不管是不是存在该类的一个对象,static办法随时都可以使用。挪用getProperties()时,它会将体系属性作为Properties类的一个对象天生(注重Properties是“属性”的意义)。随后的的句柄保留在一个名为p的Properties句柄里。在第三行,人人可看到Properties对象有一个名为list()的办法,它将本人的全体内容都发给一个我们作为自变量传送的PrintStream对象。
main()的第四和第六行是典范的打印语句。注重为了打印多个String值,用加号(+)分开它们便可。但是,也要在这里注重一些奇异的事变。在String对象中利用时,加号其实不代表真实的“相加”。处置字串时,我们一般不用思索“+”的任何特别寄义。可是,Java的String类要受一种名为“运算符过载”的机制的制约。也就是说,只要在伴同String对象利用时,加号才会发生与其他任何中央分歧的体现。关于字串,它的意义是“毗连这两个字串”。
但事变到此并未停止。请察看下述语句:
System.out.println("TotalMemory="
+rt.totalMemory()
+"FreeMemory="
+rt.freeMemory());
个中,totalMemory()和freeMemory()前往的是数值,并不是String对象。假如将一个数值“加”到一个字串身上,会产生甚么情形呢?同我们一样,编译器也会心识到这个成绩,并把戏般地挪用一个办法,将谁人数值(int,float等等)转换成字串。经如许处置后,它们固然能使用加号“加”到一同。这类“主动范例转换”亦划进“运算符过载”处置的范围。
很多Java著作都在强烈热闹地争吵“运算符过载”(C++的一项特征)是不是有效。今朝就是否决它的一个好例子!但是,这最多只能算编译器(程序)的成绩,并且只是对String对象而言。关于本人编写的任何源代码,都不成能使运算符“过载”。
经由过程为Runtime类挪用getRuntime()办法,main()的第五行创立了一个Runtime对象。前往的则是指向一个Runtime对象的句柄。并且,我们不用体贴它是一个静态对象,仍是由new命令创立的一个对象。这是因为我们不用为扫除事情卖力,能够大摇大摆地利用对象。正如显现的那样,Runtime可告知我们与内存利用有关的信息。
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。

乐观 发表于 2015-1-21 11:07:19

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

小女巫 发表于 2015-1-25 16:03:24

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

莫相离 发表于 2015-1-25 16:20:27

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

只想知道 发表于 2015-1-26 10:45:37

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

飘灵儿 发表于 2015-2-4 13:46:38

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

兰色精灵 发表于 2015-2-5 23:34:20

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

因胸联盟 发表于 2015-2-12 20:25:07

是一种语言,用以产生「小应用程序(Applet(s))

蒙在股里 发表于 2015-3-8 18:49:20

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

若天明 发表于 2015-3-11 06:03:53

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

冷月葬花魂 发表于 2015-3-16 17:35:42

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

小魔女 发表于 2015-3-22 23:28:04

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

仓酷云 发表于 2015-3-23 01:16:11

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

愤怒的大鸟 发表于 2015-4-10 23:27:50

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

简单生活 发表于 2015-4-10 23:39:59

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

海妖 发表于 2015-4-14 15:19:06

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

飘飘悠悠 发表于 2015-5-2 01:16:11

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

若相依 发表于 2015-5-9 20:10:01

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

爱飞 发表于 2015-6-15 08:20:57

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

灵魂腐蚀 发表于 2015-6-22 22:06:12

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
页: [1]
查看完整版本: 来看我们的第一个Java程序