Java从入门到项目实战(全程视频版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 Java编程起步

img

Java是一门完善的编程语言,包含完整的语法和语义。在Java程序中所有的源代码必须以.java作为后缀,同时所有的程序代码都需要放在一个类中并且由主方法开始执行。为了帮助读者快速掌握Java程序的结构,下面来编写一个简单的程序,目的是在屏幕上进行信息的输出。

提示:注意程序中的大小写。

Java程序是严格区分大小写的,在编写程序时一定要注意。另外,为了读者方便代码的运行,强烈建议在此处按照本书所提供的代码样式进行编写。

范例:编写第一个Java程序(保存路径:D:\mldnjava\Hello.java)

img

程序编写完成后可以按照以下的命令进行编译与解释,Java程序执行流程如图1-17所示。

img【编译程序】在命令行方式下,进入程序所在的目录,执行javac Hello.java,对程序进行编译。编译完成后可以发现在目录中多了一个Hello.class文件,即最终要使用的字节码文件。

img【解释程序】程序编译之后,输入java Hello即可在JVM上解释Java程序。

img

图1-17 Java程序执行流程

提示:认真编写第一个程序。

如果暂时不理解上面的程序也没有关系,读者只要按部就班地输入程序并进行编译、执行,得到与本书相同的结果即可,而对于具体的语法可以通过后续的学习慢慢领会。这个程序是一个重要的起点,也是一切学习的开始。

另外,读者需要知道的是,Java程序分为Application程序和Applet程序,其中使用main方法的程序主要是Application程序。本书中主要使用Application程序进行讲解,Applet程序主要应用在网页上面且已经不再使用,因此本书将不再做介绍。

虽然一个小小的信息输出程序并不麻烦,但是需要清楚的是,任何语言都有自己的程序组成结构,下面将针对本Java程序代码组成进行分析。

1.类

Java中的程序以类为单位,所有的程序都必须在class定义范畴内,类的定义有以下两种形式。

img

在本次程序中使用的是第二种形式,而“public class Hello {}”代码中的Hello就是类名称。

如果将现在的代码修改为public class HelloMLDN{},文件名称依然是Hello.java,则在编译时将出现以下错误的提示信息。

img

这是因为在开发中如果在类的定义中使用了public class声明,那么文件名称必须与类名称保持一致。如果没有使用public class,而只使用了class声明,如class HelloMLDN {},此时文件名称与类名称不相同,但是最终生成的*.class文件的名称将为HelloMLDN.class,如图1-18所示。

img

图1-18 class定义的类编译后结果

也就是说,使用class定义的类,其文件名称可以与类名称不同,但是生成的*.class文件的名称就是class定义的类名称,那么执行的一定是*.class的文件名称,即执行“java HelloABC”。

在一个*.java文件中可以同时存在多个class定义,并且在编译后会自动将不同的class保存在不同的*.class文件之中。

范例:在一个*.java文件定义多个class

img

此时程序中一共存在3个class声明,所以编译之后会形成3个class文件,包括A.class、B.class和HelloMLDN.class,如图1-19所示。

img

图1-19 编译后产生多个*.class文件

通过以上的分析,可以得出以下的结论。

imgpublic class定义要求文件名称与类名称保持一致。也就是说,一个*.java文件中只允许有一个public class定义。

imgclass定义的类文件名称可以与类名称不一致,但是在编译之后每一个使用class声明的类都会生成一个*.class文件,也就是说,一个*.java文件可以产生多个*.class文件。

提示:实际的开发要求。

从实际的开发来讲,一个*.java文件里面一般只会定义一个public class,但是现阶段属于学习过程,所以会在一个*.java文件里面定义多个类,那么就会出现public class与class在一个文件中混合声明不同类结构的情况。

关于类名称定义的重要说明:类名称要求每个单词的首字母大写,如HelloDemo、TestDemo,此为Java命名规范,开发者必须严格遵守。

2.主方法

主方法是一切程序的起点,所有的程序代码都从主方法开始执行,Java中的主方法定义如下。

img

在以后的学习中为了方便,将把主方法所在的类称为主类,并且主类都使用public class声明。

3.系统输出

如果要在屏幕上显示信息,则可以使用以下方法。

imgSystem.out.println():输出之后追加一个换行。

imgSystem.out.print():输出之后不追加换行。

范例:观察输出

img

本程序在输出时由于没有使用换行,所以所有的输出结果都显示在同一行。