1.4 构建java程序
1.4.1 第一个java application
java程序分为java application(java 应用程序)和java applet(java小应用程序)两种。下面让我们编写一个java应用程序,它能够利用来自java标准库的System对象的多种方法,打印出与当前运行的系统有关的资料。其中"//"代表一种注释方式,表示从这个符号开始到这行结束的所有内容都是注释。在每个程序文件的开头,如果这个文件的代码中用到了系统所提供的额外的类,就必须放置一个import语句。说它是额外的是指一个特殊的类库"java.lang"会自动导入到每个java文件。
//这是我们的第一个java application,该程序保存在文件Property.java中
import java.util.*; /*下面我们用到了Date和Properties这两个类,是
属于java.util这个包的;*/
/*而System和Runtime这两个类,是属于
java.lang这个包的。*/
public class Property { //程序员给这个类取名为Property
public static void main(String args[]){ //main是类的主方法
System.out.println(new Date( )); //在命令行下面打印出日期
Properties p=System.getProperties( ); //获得系统的Properties对象p
p.list(System.out); //在命令行下打印出p中的各个系统变量的值
System.out.println("--- Memory Usage:"); /*打印一行字符串---Memory Usage*/
Runtime rt=Runtime.getRuntime( ); //获得系统的Runtime对象rt
System.out.println("Total Memory= "
+ rt.totalMemory( ) //打印总内存大小
+" Free Memory = "
+rt.freeMemory( )); //打印空闲内存大小
}
}
在java中,程序都是以类的方式组织的,java源文件都保存在以java为后缀的.java文件当中。每个可运行的程序都是一个类文件,或者称之为字节码文件,保存在.class文件中。而作为一个java application,类中必须包含主方法,程序的执行是从main方法开始的,方法头的格式是确定不变的:
public static void main(String args[])
其中关键字public意味着方法可以由外部世界调用。main方法的参数是一个字符串数组args,虽然在本程序中没有用到,但是必须列出来。
程序的第一行非常有意思:
System.out.println(new Date());
打印语句的参数是一个日期对象Date,而创建Date对象的目的就是把它的值发给println()语句。一旦这个语句执行完毕,Date对象就没用了,而后"无用内存回收器"会将其收回。
第二行中调用了System.getProperties( )。从帮助文档中可知,getProperties( )是System类的一个静态方法(static 方法),由于它是"静态"的,所以不必创建任何对象就可以调用该方法。在第三行,Properties对象有一个名为list( )的方法,它将自己的全部内容都发给一个PrintStream对象,该对象就是list()方法的参数。
第四行和第六行是典型的打印语句,其中第六行通过运算符"+"的重载来连接多个字符串对象,在java中只有当"+"运算符作用于字符串时在能够进行重载。但是让我们仔细观察下述语句:
System.out.println("Total Memory= "
+ rt.totalMemory( ) //打印总内存大小
+" Free Memory = "
+rt.freeMemory( )); //打印空闲内存大小
其中,totalMemory( )和freeMemory( )返回的是数值,并非String对象。如果将一个字符串与一个数值相加,结果会如何?在这种情况下,编译器会自动调用一个toString()方法,将该数值(int型或者float型)转换成字符串。经过这样处理以后,就可以用"+"进行字符串连接了。
main()的第五行通过调用Runtime的getRuntime()方法创建了一个Runtime对象,该对象中包含了内存等信息。
2017年计算机二级考试java章节辅导:构建java程序.doc正在阅读:
2017年计算机二级考试java章节辅导:构建java程序09-16
2019年6月大学英语四级听力复习重点:presentation09-19
汽车销售员年终工作总结【三篇】03-21
2020恒丰银行重庆分行秋季校园招聘03-14
七年级下册第二单元同步作文:观黄河11-02
2019安徽合肥肥东县人民政府招聘政府法律顾问20人公告03-26
加拿大移民创业哪些事情需要注意?09-17
上海农林职业技术学院官网-上海农林职业技术学院2017年12月英语六级报名入口:http://www.shafc.edu.cn02-05
2020广东省茂名出入境边防检查站编制外人员招聘公告10-14
给母亲的猪年拜年短信祝福语09-17