日期:2011-03-22 16:17:00 来源:本站整理
<b>我们的第一个Java程序</b>[Java编程]
本文“<b>我们的第一个Java程序</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
最后,让我们正式编一个程序(注释⑤).它能打印出与当前运行的系统有关的资料,并操纵了来自Java尺度库的System对象的多种办法.注意这里引入了一种额外的注释款式:“//”.它表示到本行完毕前的全部内容都是注释:
// Property.java import java.util.*; public class Property { public static void main(String[] args) { System.out.println(new Date()); Properties p = System.getProperties(); p.list(System.out); System.out.println("--- Memory Usage:"); Runtime rt = Runtime.getRuntime(); System.out.println("Total Memory = " + rt.totalMemory() + " Free Memory = " + rt.freeMemory()); } }
⑤:在某些编程环境里,程序会在屏幕上一切而过,乃至没机会看到后果.可将下面这段代码置于main()的末尾,用它暂停输出:
try {
Thread.currentThread().sleep(5 * 1000);
} catch(InterruptedException e) {}
}
它的作用是暂停输出5秒钟.这段代码触及的一些概念要到本书背面才会讲到.所以目前没必要深究,只知道它是让程序暂停的一个本领便可.
在每个程序文件的开首,都必须安排一个import语句,导入那个文件的代码里要用到的全部额外的类.注意我们说它们是“额外”的,因为一个特别的类库会自动导入每个Java文件:java.lang.启动您的Web浏览器,查看由Sun供应的用户文档(假如还没有从http://www.java.sun.com下载,或用其他方法安装了Java文档,请当即下载).在packages.html文件里,可找到Java配套供应的全部类库名称.请挑选此中的java.lang.在“Class Index”下面,可找到属于那个库的全部类的列表.由于java.lang默许进入每个Java代码文件,所以这些类在任什么时刻候都可直接利用.在这个列表里,可发现System和Runtime,我们在Property.java里用到了它们.java.lang里没有列出Date类,所以必须导入另一个类库才能利用它.假如不清楚一个特定的类在哪个类库里,大概想检视全部的类,可在Java用户文档里挑选“Class Hierarchy”(类分级构造).在Web浏览器中,固然要花不短的时间来成立这个构造,但可清楚找到与Java配套供应的每一个类.随后,可用浏览器的“查找”(Find)功效搜索关键字“Date”.经这样处理后,可发现我们的搜索目标以java.util.Date的情势列出.我们终于知道它位于util库里,所以必须导入java.util.*;不然便不能利用Date.
察看packages.html文档最开首的部份(我已将其设为自己的默许起始页),请挑选java.lang,再选System.这时可看到System类有几个字段.若挑选out,便可知道它是一个static PrintStream对象.由于它是“静态”的,所以不需求我们成立任何东西.out对象必定是3,所以只需直接用它便可.我们能对这个out对象做的事情由它的范例决意:PrintStream.PrintStream在阐明文字中以一个超链接的情势列出,这一点做得非常便利.所以假如单击那个链接,便可看到可认为PrintStream调用的全部办法.办法的数目不少,本书背面会具体介绍.就目前来说,我们感爱好的只有println().它的意思是“把我给你的东西打印到掌握台,并用一个新行完毕”.所以在任何Java程序中,一旦要把某些内容打印到掌握台,便可条件反射地写上System.out.println("内容").
类名与文件是一样的.若象目前这样成立一个独立的程序,文件中的一个类必须与文件同名(假如没这样做,编译器会及时作出反映).类里必须包含一个名为main()的办法,情势以下:
public static void main(String[] args) {
此中,关键字“public”意味着办法可由外部世界调用(第5章会具体注释).main()的自变量是包含了String对象的一个数组.args不会在本程序顶用到,但需求在这个地方列出,因为它们保存了在号令行调用的自变量.
程序的第一行非常风趣:
System.out.println(new Date());
请察看它的自变量:成立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("Total Memory = "
+ rt.totalMemory()
+ " Free Memory = "
+ rt.freeMemory());
此中,totalMemory()和freeMemory()返回的是数值,并非String对象.假如将一个数值“加”到一个字串身上,会发生什么情形呢?同我们一样,编译器也会意识到这个问题,并魔术般地调用一个办法,将那个数值(int,float等等)转换成字串.经这样处理后,它们当然能操纵加号“加”到一同.这种“自动范例转换”亦划入“运算符过载”处理的范围.
很多Java著作都在热烈地辩说“运算符过载”(C++的一项特点)能否有效.目前就是反对它的一个好例子!但是,这最多只能算编译器(程序)的问题,并且只是对String对象而言.关于自己编写的任何源代码,都不大概使运算符“过载”.
通过为Runtime类调用getRuntime()办法,main()的第五行成立了一个Runtime对象.返回的则是指向一个Runtime对象的句柄.并且,我们没必要关心它是一个静态对象,还是由new号令成立的一个对象.这是由于我们没必要为排除工作负责,可以大模大样地利用对象.正如显示的那样,Runtime可奉告我们与内存利用有关的信息.
以上是“<b>我们的第一个Java程序</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论