0.3深入探讨“HelloWord”应用程序
?本节将详细介绍HelloWorld源程序,在0.2节读者已经看到如何编写、编译和执行Java源程序。但是读者或许想知道源程序到底是如何运行。为了说明的方便这里再次列出该代码程序。?1/**?2类HelloWorld的功能是在标准输出?3打印一行输出“HelloWorld!”?4*/?5classHelloWorld{?6publicstaticvoidmain(String[]args){?7System.out.println("HelloWorld!");//调用标准输出打印字符串?8}?9}
0.3.1注释源代码
??????在程序中有这样的注释部分,如以下代码所示。/**类HelloWorld的功能是在标准输出打印一行输出“HelloWorld!”*/这是Java的注释部分,其格式是/**注释*/,程序会忽略掉注释的内容,Java还提供了另外两种注释,其格式分别是//和/*注释*/,具体如何使用可以参考第1章1.8节的内容。
0.3.2实现类定义
?下面代码的粗体字部分是类定义部分,其语法格式是classclassname{code},其中关键字class声明这是一个类,后面紧跟类名,用两个大括号括起来的部分是类定义的主体部分。?1/**?2类HelloWorld的功能是在标准输出?3打印一行输出“HelloWorld!”?4*/?5classHelloWorld{?6publicstaticvoidmain(String[]args){?7System.out.println("HelloWorld!");//调用标准输出打印字符串?8}?9}
0.3.3详解main方法
????使用Java语言编写的应用程序必须包含一个main()方法,它的格式如下所示:publicstaticvoidmain(String[]args)修饰符public和static的顺序可以互换,但是根据Java惯例把public放在前面,参数名args不是固定的,开发者可以任意命名,但是习惯上选择使用args或argv。Main()方法是应用程序的入口,但一个程序执行时会首先指定类的main()方法开始,再启动程序所需要的其他资源。Main()方法接收一个字符串数据参数,实际上该参数提供了运行时系统向应用程序提供参数的途径。当然也可以不传递任何参数。如果一个应用程序可以读取一系列文件,则需要把这些文件的绝对路径告诉该程序。该参数是命令行参数,即在调用JavaClassName时使用,方式为JavaClassNameargs。笔者在编译HelloWorld程序时没有输入参数,该应用程序忽视了该参数但是读者一定要注意确实存在也允许调用这样的参数为应用程序使用。
?
0.4常见编译错误
?对于初学者而言,在Java程序的开发、编译和执行过程中都会或多或少的遇到
问题,如环境变量设置不正确,源程序的语法错误、语义错误,或在程序编译、运行期发生错误等。这些错误或问题如果不能得到适当的处理对于初学者是很大的障碍,本节将介绍几种常见的错误,以使读者在学习的过程中少走弯路。
0.4.1环境变量设置错误
?在编译并运行Java应用程序之前,需要设置环境变量,其目的是使Windows系统可以知道DOS窗口中运行的Java工具可执行程序,如Javac源程序编译工具等。图所示说明Windows操作系统无法发现Javac编译程序,所以在源文件所在目录下编译源文件。JDK环境变量的设置可以参考第1.5节的内容。
0.4.2语法错误
?Java语言规范
设计了语法规则,但是如果疏漏了部分内容,违反了Java的语法规则,编译器会发出语法错误消息,该消息包含错误类型,发生错误的代码在程序中的位置(以该错误代码行为标识),并且在错误处标识一个“^”。如图语法错误所示。
0.4.3语义错误
?编译器也会发生语义错误,编译器无法识别一个标识的语义,如发现一个为定义的变量,错误输入的系统类库的类的名字等。图语义错误示例了一个语义错误,笔者故意将语句System的首字母改为小写,使编译器无法识别,从而输出语义错误。
0.4.4运行时错误
?运行期异常指在执行程序过程中发生的错误,如某个类没有实例化造成空指针,无法找到指定的类文件等。下面介绍三种初学者常见的运行时错误。?1.无法发现类文件?2.执行Java工具时类名错误?3.无法发现main()方法
0.5本章习题
???????(1)学完本章中,读者需要回答:1.如何理解Java是一门编程语言?2.如何理解Java是一个软件平台?3.如何理解类的定义?4.如何理解解释main方法的作用?5.列出Java三种注释方式。6.理解操作系统中环境变量Path和CLASSPATH的作用。
0.5本章习题
?(2)编译如下程序,观察并解释输出结果:
??
?