当前位置:课程学习>>第一章 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