1.7 第一个Java程序

1.7.1 编辑、编译、运行Java程序

  1.编辑Java程序

  JDK中没有提供Java编辑器,需要使用者自己选择一个方便易用的编辑器或集成开发工具。作为初学者,可以使用记事本、UltraEdit、Editplus作为Java编辑器,编写第一个Java程序。下面以记事本为例,使用它编写HelloWorld程序。
  打开“记事本”,按照图1.6所示输入代码(注意大小写和程序缩进),完成后将其保存为HelloWorld.java文件(注意不要保存成HelloWorld.java.txt文件)。

1.7 第一个Java程序 - 图1

图1.6 HelloWorld程序代码

  2.编译java源文件

  在控制台环境下,进入到保存HelloWorld.java的目录,执行javac HelloWorld.java命令,对源文件进行编译。Java编译器会在当前目录下产生一个以.class为后缀的字节码文件。

  3.运行class文件

  执行java HelloWorld(注意没有.class后缀)命令,会输出执行结果,如图1.7所示。

1.7 第一个Java程序 - 图2

图1.7 编译和运行Java程序

1.7.2 Java程序概述

  Java源文件以java为扩展名。源文件的基本组成部分是类(class),如本例中的HelloWorld类。
  一个源文件中最多只能有一个public类,其他类的个数不限,如果源文件包含一个public类,则该源文件必须以public类名命名。
  Java程序的执行入口是main()方法,它有固定的书写格式。

  1. public static void main(String[] args){…}

  Java语言严格区分大小写。
  Java程序由一条条语句构成,每个语句以分号结束。
  刚编写的这个程序的作用是向控制台输出“HelloWorld!”。程序虽然非常简单,但其包括了一个Java程序的基本组成部分。以后编写Java程序,都是在这个基本组成部分上增加内容。下面是编写Java程序基本步骤的介绍。
  (1)编写程序结构。

  1. public class HelloWorld{
  2. }

  程序的基本组成部分是类,这里命名为HelloWorld,因为前面有public(公共的)修饰,所以程序源文件的名称必须和类名一致。类名后面有一对大括号,所有属于这个类的代码都写在这对大括号里面。
  (2)编写main方法。

  1. public static void main(String[] args){
  2. }

  一个程序运行起来需要有个入口,main()方法就是这个程序的入口,是这个程序运行的起始点。程序没有main()方法,Java虚拟机就不知道从哪里开始执行了。需要注意的是,一个程序只能有一个main()方法,否则不知道从哪个main()方法开始运行!
  编写main()方法时,按照上面的格式和内容书写即可,内容不能缺少,顺序也不能调整,具体的各个修饰符的作用,后面的课程会详细介绍。main()方法后面也有一对大括号,Java代码写在这对大括号里,Java虚拟机从这对大括号里按顺序执行代码。
  (3)编写执行代码。

  1. System.out.println("HelloWorld!");

  System.out.println(“*********“)方法的作用很简单,就是向控制台输出*********,输出之后自动换行。前面已经说过,JDK包含了一些常用类库,提供了一些常用方法,这个方法就是java.lang.System类里提供的方法。如果程序员希望向控制台输出内容之后,不用自动换行,则使用方法System.out.print()。

1.7.3 Java注释

  为什么要有注释呢?
  假设一个程序员新进入一个项目组,接手一个已离职程序员未完成的软件模块功能,当他打开原程序员编写的代码时,其中一个方法可以有上百行代码,没有任何注释。这样造成的结果是,新程序员要花费很长的时间去理解原程序员的业务逻辑和思路,可能还会出现理解错误的情况。怎么解决这个问题呢?在一个规范化的软件开发项目组里,程序的编写是必须要有注释的,Java程序编写也不例外。
  什么是注释?
  Java程序中的注释就是方便程序阅读而写的一些说明性的文字。通过注释提高Java源程序代码的可读性,使得Java程序条理清晰,易于理解。
  通常在程序开头加入作者、时间、版本、要实现的功能等内容作为注释,方便后来的维护以及程序员的交流。
  Java的注释有3种:单行注释、多行注释、文档注释。

  1. // 注释一行
  2. /* ...... */ 注释若干行
  3. /** ...... */ 注释若干行,并写入 javadoc 文档

  下面介绍一下Java程序员编写注释的规范。
  (1)注释要简单明了,例如:

  1. String engName = "方鸿渐";//工程师用户名

  (2)边写代码边注释,修改代码的同时修改相应的注释,以保证注释与代码的一致性。有些时候会出现修改了代码,但没有修改注释的情况,尤其是在使用javadoc产生Java文档时,程序已经进行了修改,但文档注释没修改,产生的Java文档还是原注释内容,引起错误。
  (3)保持注释与其对应的代码相邻,即注释的就近原则,通常是放在该段代码的上方或者放在该行代码的右边(单行注释)。
  (4)在必要的地方注释,注释量要适中。在实际的代码规范中,要求注释占程序代码的比例达到20%左右。
  (5)全局变量要有较详细的注释,包括对其功能、取值范围、哪些方法存取它以及存取时的注意事项等说明。
  (6)源文件头部要有必要的注释信息,包括文件名,版本号,作者,生成日期,模块功能描述(如具体功能、主要算法、内部各部分之间的关系、该文件与其他文件的关系等),主要方法清单及本文件历史修改记录等。以下是源文件头部注释示例。

  1. /**
  2. * Copy Right Information : blue-dot
  3. * Project : blue-bridge
  4. * JDK version used : jdk1.6.0
  5. * Author : Jack Yang
  6. * Version : 2.1.0, 2013/8/1
  7. **/

  (7)方法的前面要有必要的注释信息,包括方法名称,功能描述,输入、输出及返回值说明,抛出异常等。以下是方法注释示例。

  1. /**
  2. * Description :checkout
  3. * @param Hashtable cart info
  4. * @param OrderBean order info
  5. * @return String
  6. * @exception IndexOutOfBoundsException
  7. */

  (8)文档注释标签语法。

  • @author,对类的说明,标明开发该类模块的作者。
  • @version,对类的说明,标明该类的版本。
  • @see,对类、属性、方法的说明,即相关主题。
  • @param,对方法的说明,对方法中某参数的说明。
  • @return,对方法的说明,对方法返回值的说明。
  • @exception,对方法的说明,对方法可能抛出的异常进行说明。

  下面是第一个Java程序增加注释后的完整程序。

  1. / **
  2. * Copy Right Information : blue-dot
  3. * Project : blue-bridge
  4. * JDK version used : jdk1.6.0
  5. * Author : Jack Yang
  6. * Version : 2.1.0, 2013/8/1
  7. * */
  8. public class HelloWorld{
  9. /**
  10. * Description: 主函数,程序入口
  11. * @param String[] args
  12. * @return void
  13. */
  14. public static void main(String[] args){
  15. System.out.println("HelloWorld!");//输出HelloWorld!到控制台
  16. }
  17. }

  本章介绍的与注释相关的内容较为详细,对于初学者来说,可能理解起来有些困难。没有关系,随着对Java学习的逐渐深入,再回过头来理解就会更加容易。

1.7.4 常见Java集成开发环境

  以下是常见的Java集成开发环境。
  1.Eclipse
  Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
  2.MyEclipse
  MyEclipse是一个十分优秀的用于开发JavaSE、JavaEE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持非常不错。
  MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,利用MyEclipse可以极大地提高在连接数据库,JavaEE的开发、发布以及应用程序服务器的整合方面的工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、CSS、JavaScript、SQL、Struts和Hibernate等。