一、源文件的编写
Java是完全面向对象的语言,所以Java的所有操作都是基于类(class)完成的。Java中所有程序的代码都需要放在一个类中,类用关键字class声明,在class之前可以添加一些修饰符,Java应用程序的源文件由若干个书写形式相互独立的类组成。
1.例子:
// HelloDate.java import java.util.Date; //引入 java.util 包中的Date类 public class HelloDate{ /* * 该程序的目的是:输出当前系统的时间 */ public static void main(String[] args){ System.out.print("Hell,it‘s"); System.out.println(new Date()); } }
(1)import语句的作用是引入一个额外的类或一个类包。注意,是“额外的”,因为有一个类包是被自动引入到每一个Java程序文件中的,就是 java.lang 包。
import java .util.Date 的作用是引入 java.util 包中的Date类。
如果不想一个一个地引入同一个包中的多个类,就可以用“*”来代表这个包中的所有类,如 import java.util.* 。
(2)类用关键字class声明,类名必须与文件名称相同。前面的关键字public表示这是一个公共类,可以被外界访问。
(3)class HelloDate 称为类声明,之后的第一个大括号和最后一个大括号以及他们之间的内容叫类体。
(4)至少有一个名称与主文件相同的类,且这个类中必须含有一个main()函数,其形式必须如下:
public static void main(String[] args){ ... //程序代码 }
其中,关键字public表示这是一个对外公开的函数,传入 main() 的参数,是一个 String对象数组。
(5)这个程序并未使用args,但Java编译器要求必须要这样声明main方法,因为args被用来存储“命令行参数”。
(6)Java允许一个程序的多个类中可以有多个main方法。不过,如果某个程序拥有多个类,仅有命令行所调用的class的main()会被唤醒——这个main方法必须是public,其所属类则无所谓是否为public。(可以这么理解:public static void main(String[] args) 这句代码为程序的入口、开始)
System.out.println(new Date());
(7)System.out.println 的作用是向屏幕上输出一条语句并换行。这里传入的参数是Date类的一个对象,对象用 new 操作方法创建。
(8)“为什么输出的结果不是像这样‘[email protected]’是一个对象的地址(引用),而是一个字符串呢?”是因为Java类库中的每个非基本类型的对象都具备一个 toString()方法,当编译器希望得到一个String,而手上却只有那些对象的情况下,这个函数便会被调用。如果希望自己编写的类也能具备这种行为,只要为它编写一个 toString方法即可。
(9)这个语句执行完成以后,这个对象便不会再被使用而变成了垃圾(garbage)。
2.Java之中有一种所谓的“垃圾回收机制(Garbage Collection)”,它会逐一监视所有通过 new 产生的对象,并在这些对象不再引用时释放这个对象所占据的内存空间,所以完全不必担心因垃圾过多而造成“内存泄漏(Memory Leak)”。
3.注意事项:
(1)Java是严格区分大小写的。
(2)Java程序中一句连续的字符串不能分开在两行中写。
(3)每行语句都以分号“;”表示结尾。
二、源文件的命名规则
1.Java源文件的命名规则:
(1)如果源文件中有多个类,那么最多只能有一个类为public类。
(2)如果有一个类声明为public类,那么源文件的名字必须与这个类的名字完全相同,并且扩展名是 .java 。
(3)如果源文件没有public类,那么源文件的名字只要与某一个类的名字相同,并且扩展名是 .java 即可。
2.Java中不成文的规定:
(1)Java类的名称通常以大写字母开头。如果类名由多个单词组成,则每个单词的首字母均应为大写,如 DateTest 。如果类名称中包含单词缩写,则这个缩写词的每个字母均应为大写,如 XMLExample。
(2)方法的名称的第一个单词应该以小写字母开头,后面的单词以大写字母开头,如 getName 。构造函数除外。
(3)常量的名称应该都使用大写字母,并且能表示出该常量的完整含义。如果一个常量名由多个单词组成 ,则用下划线进行分隔,如 MAX_SIZE 。
3.良好的编程习惯:
(1)注意缩进。程序块采用缩进风格编写,不允许把多个短句写在一行中,即一行只写一条语句。
(2)注重注释。一般情况下,源程序的有效代码量应在10%-20%之间,注释应与其描述的代码相近。对代码的注释应放在其上方或右方(对单条语句的注释)相邻的位置,不可放在下方。另外,在实际项目开发中,在修改代码后,一定要相应地修改注释的内容,保持代码和注释的同步。
(3)标识符命名。标识符的命名要力求做到见名知意。同时使用完整的单词或大家可以理解的缩写,避免使人产生误会。对变量的命名,切忌采用单个字符。
4.关键字和标识符:
(1)关键字又称为保留字。在程序中具有特定的含义,Java预定义的标识符,而用户自定义的标识符不能与关键字重名。
(2)标识符就是表示程序中的事物(或对象)的名字。Java中的包、类、方法、参数和变量等的名字都是标识符。
Java语言规定标识符只能由字母(大小写)、数字(0~9)、下划线(_)和美元符号($)这4种字符组成,且第1个字符不能是数字。当然还有,用户自定义的标识符不能和关键字重名。
需要注意的是,Java是大小写敏感的语言,class和Class、System和system分别代表完全不同的符号。
三、注释与内嵌式文档
1.注释(Comment)是对代码功能和用途的说明。在程序中编写适当的注释,将使程序代码更容易阅读,增强代码的可维护性。
Java提供以下三种注释风格:
(1)单行注释。这种注释风格源于C++,用于单行注释,以 // 开头,直至行末。
// 这是单行注释
(2)多行注释。这种注释风格最初为C所使用,C++也沿用了这种风格。以 /* 开头,后接的注释内容可以跨越多行,最后以 */ 结尾。
/*多行注释, 它可以跨越多行*/
(3)文档注释。文档注释以 /** 开头,后接的注释内容也可以跨越多行,并以 */ 结尾。部分程序员喜欢在多行中以 * 作为每行开头,所以通常可以看到这样的写法:
/** *这是文档注释 *可以通过调用 javadoc 命令生成HTML说明文档 */
2.内嵌式文档就是文档和代码在同一个文件中。文档被特殊的注释语法标记出来,再通过一个工具,将这些注释文档从中提取出来。
javadoc就是用来将内嵌式文档提取出来的工具,在JDK安装目录的bin目录下可以找到这个工具。用这个工具不但能提取出由特殊标记所标识出的信息,还会提取出这些信息所属的类名和函数名等信息。即一份标准的说明文档。
javadoc的输出结果是HTML文档,通过Web浏览器便可以阅读。javadoc还可以将用户所预设的HTML命令加入到它所产生的文档中,这样用户就可以根据自己的想法对即将生成的文档进行美化。