当前位置:课程学习>>第一章 Java概述>>文本学习>>知识点三


知识点三  Java程序实例




本单元将通过两个不同的程序实例来学习Java程序的编辑、编译和运行。

一.命令行下应用程序

1.Java程序分类

Java程序在它的应用中可以分为两类:Java应用程序(Java Application)和Java 小程序(Java Applet)。

Java应用程序和Java Applet程序的编译都是由javac.exe程序来执行,并都能生成相应的字节码文件。

Java应用程序可以作为独立的程序运行,但必须有main()方法,其运行结果一种是在DOS命令行下输出,一种是图形窗口(必须扩展AWT的Frame类或Swing的JFrame类),而Java Applet则需要扩展java.applet.Applet或javax.swing.JApplet类,并嵌入到HTML文件中,在由支持Java的网页浏览器或appletviewer提供的框架内运行。

Java应用程序没有与Java Applet相同的安全性约束,应用程序可自由地读写文件,而Applet程序则不允许执行这些操作。

2.Java应用程序实例

(1)编辑源程序

Java源程序是文本文件,可用记事本等文本编辑器来编写,也可在集成开发环境中编写。在文本编辑器中输入【例1.1】中的源程序。程序最前面的数字表示行号,不属于程序内容。

【例1.1】在屏幕上输出“Hello.How are you?”和“我喜欢学习Java语言!”。

1 //程序结果为:在屏幕上输出"Hello,how are you?","我喜欢学习Java语言!"

2 //文件名:FirstJavaProgram.java

3 public class FirstJavaProgram

4 {

5    public static void main(String[] args)

6     {

7         System.out.println("Hello,how are you?");

8         System.out.println("我喜欢学习Java语言!");

9         try

10         {

11             System.in.read();

12         }

13         catch(Exception e){}

14     }

15 }

编写完毕后,保存为FirstJavaProgram.java,假定文件存放到D:\javacode目录下。

程序说明:第1行、第2行为程序注释;第5行是main方法的声明,Java应用程序都是从main()方法开始运行;第7行、第8行是在屏幕上输出;第9行~第13行用来等待接收键盘的输入,这里是用来暂停显示。

提示:Java程序严格区分大小写;此外Java程序的文件名必须和主类名(public修饰的类)完全相同,扩展名必须为.java。

(2)编译

完成第一步操作后,打开DOS命令行窗口,切换到D:\javacode目录下,执行如图1.1所示的命令。

图1.1 编译Java程序

如果没有任何提示信息而直接返回DOS提示符,则说明该程序没有语法错误而通过了编译,这样就会在文件所在目录下生成和源程序同名的字节码文件:FirstJavaProgram.class。

如果源程序中存在语法错误,例如把System写成了system,这样就会输出相应的提示信息,其示意图如图1.2所示。

图1.2 源码中存在错误时编译结果示意图

提示信息依次包含了文件名、发生错误的行号、有关错误的说明信息,具体语句,错误总的个数。这样就不能通过编译,也不会生成相应的字节码文件。

这样就需要修改源程序,保存后重新编译,直到没有任何错误为止才能编译通过。

提示:编译之前要求事先已经设置好了PATH路径,否则需要在输入javac时加上javac的完整路径C:\Program Files\Java\jdk1.8.0_121\bin\javac,如若不然就会出现错误。

(3)运行

Java程序编译通过后,就可以解释执行了,需要使用Java解释器java.exe。用法很简单,格式为:java 字节码文件名。如图1.3所示,这样就可以看到程序的运行结果,按回车键结束显示返回到DOS提示符。

图1.3 程序运行结果

如果在集成开发环境里就不需要使用命令了,可以直接利用相应的按钮完成程序的编译和运行。

二.Java Windows程序

Java Windows程序实际上是Java应用程序中的一种,只不过它具有图形用户界面,而不是直接在DOS命令行中输出。

【例1.2】创建一个简单的Windows窗口应用程序。

1 //FirstWindowsProgram.java

2 import javax.swing.*;

3 import java.awt.event.*;

4 public class FirstWindowsProgram extends JFrame

5 {

6 FirstWindowsProgram(String title)

7 {

8 super(title);

9 }

10 public static void main(String[] args)

11 {

12 FirstWindowsProgram framel=new FirstWindowsProgram("第一个图形用户界面程序");

13 framel.setSize(300,100);

14 framel.setVisible(true);

15 framel.addWindowListener(new WindowsClosing());

16 }

17 }

18 class WindowsClosing extends WindowAdapter

19 {

20 public void windowClosing(WindowEvent e)

21 {

22 System.exit(0);

23 }

24 }

程序说明:第6行~第9行为构造方法;第14行设置窗口大小为宽300,高100个象素;第15行添加事件监听器;第18行~第24行为窗口关闭事件处理程序。

程序的编译与运行和【例1.1】相同。在命令行中依次输入以下命令:

javac FirstWindowsProgram.java

java FirstWindowsProgram

其运行结果如图1.4所示。

图1.4 Windows界面的Java应用程序

提示:一个.java文件中若有多个类,编译时就会生成相应数目的字节码文件。这里会生成两个字节码文件:FirstWindowsProgram.class和WindowsClosing.class

进入知识归纳学习