第 1章 Java概述
1.1 Java概述
1.2 Java程序的开发过程
1.1 Java概述
1.1.1 Java的发展
1.1.2 Java的特点
1.1.3 Java与 C/C++ 的差别熟悉 C语言和 C++ 语言的读者一定想搞清这个问题,实际上,Java确实继承了 C语言和 C++ 语言许多优秀的部分,比如 Java在变量声明、操作符形式、参数传递和流控制等方面和 C语言,C++ 语言相同。但是,Java和 C语言,C++ 语言相同却又存在许多差别,主要有以下几个方面。
( 1) Java对内存的分配是动态的,它采用面向对象的机制,采用运算符 new为每个对象分配内存空间,而且实际内存还会随程序的运行情况而改变,同时,Java
能自动回收不再使用的内存,具有自动垃圾搜集功能 。
( 2) Java不使用 goto语句,而用 try-
catch-finally异常处理语句来代替 goto语句处理出错的功能 。
( 3) Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。
( 4) Java不支持头文件。
( 5) Java不支持宏定义,而是用关键字 final来定义常量。
( 6) Java为每种数据类型都分配固定长度,例如在 Java中,int类型总是 32位的,而 C语言和 C++ 语言中对于不同的平台同一个数据类型分配不同的字节数,例如同是 int,在 PC机中为 16位,而在 VAX–
11中为 32位,从而造成 C语言不可移植性,
而 Java则具有跨平台性。
( 7) Java不使用指针,保证系统的安全性。
1.1.4 Java语言的应用由于 Java语言的众多特点,使它有着很好的应用前景,综合地讲,其特点主要有以下几方面 。
( 1) Java语言由于具有跨平台的特点,使它能很好地用于不用机型,不同操作系统之间的数据交换和通信,完成协调控制,综合管理等功能 。
( 2)用于可视化图形软件和动画软件的设计。 Java语言由于可以设计质量很高的活动图形软件,因此,它对计算机图形学、多媒体通信能提供良好的支持。
( 3)用于计算机交互软件的设计和开发。由于 Java具有良好的图形功能、可视化及可操作化等优点,为交互软件的设计带来方便。
( 4)为 Internet网络用户提供生动活泼的带动画的主页。由于 Java具有 Applet
功能,使其能非常方便地将动画和各种信息嵌入网页,因此,Java对网络用户具有强大的吸引力。
1.2 Java程序的开发过程
1.2.1 Java程序的开发步骤开发一个 Java程序有以下几步 。
( 1) 建立 Java源程序 。 Java源程序包含 Java命令语句,可用任何文本编辑建立 。 注意,使用一些带格式的文本编辑器如 Word等在保存源程序文件时,应选择以
MS-DOS文本格式保存 。
( 2)编译源程序。在命令行状态下执行 javac.exe,将源程序编译成字节码文件,字节码文件的内容是 Java虚拟机
( JVM) 可执行的指令,编译时如果出现错误,则终止编译,直到修改程序错误并最终通过编译为止。
( 3) 运行 Java程序 。 Java虚拟机由
Java解释器实现,在命令行状态下执行
java.exe,可将 Application字节码文件解释为本地计算机能够执行的指令并予以执行,
运行结果在 MS-DOS窗口中显示,如果是图形方式的 Application,将自动返回
Windows以显示图形界面 。
如果程序是 Java Applet,应建立一个
HTML文件,在适当位置加入 Applet字节文件名,并用 Applet查看器或直接用浏览器打开 HTML文件,Applet的运行结果会在查看器或浏览器窗口中显示出来 。
下面我们将通过一个简单的 Java程序,
来看一下它的整个过程 。
例 1-1 在 Windows环境下,打开记事本,
输入以下几行语句:
// HelloWorld.java
// A first program in Java
public class HelloWorld {
public static void main (String args[ ])
{
System.out.println("Hello World!");
}
}
输入代码后,以 HelloWorld.java作为文件名保存,见图 1-1。
图 1-1
下一步是对源程序 HelloWorld.java进行编译,在 MS-DOS命令提示符下执行如下编译过程:
C,\jdk1.2\bin>javac HelloWorld.java
编译之后生成一个名为
HelloWorld.class的字节码文件。
最后一步就是用 Java解释器边解释边运行字节码文件:
C:\jdk1.2\bin>java HelloWorld
运行结果见图 1-2,1-3。
图 1-2
图 1-3
1.2.2 Java编译器
1.2.3 Java解释器
1.2.4 Applet查看器