Java4747
第1章 java 语言基础
本章内容(一般掌握 3%~5%)
本章重点:应用程序和小应用程序的基础知识,程序的开发过程,基本数据类型。
本章难点:程序的开发过程,了解一种 Java 程序的开发环境。
1.1 Java 语言特点
Java 语言最初的应用对象是消费性电子产品(即 PDA 、电子游戏机、电视机顶盒之类的产品)。为了进入消费性电子
产品市场,SUN 公司专门成立了一个项目开发小组,目标是设计嵌在消费性电子产品的小型分布式系统软件,能够适用
于异构网络、多主机体系结构,能实现信息安全传递。项目小组的最初设想是用 C++语言完成这个目标。由于 C++语言的
复杂性和不安全性,不能胜任这项工作。为此,项目小组开发一个取名为 Oak 的语言。
Oak 语言在消费性电子产品市场上没有获得青睐。但在当时,Internet 开始流行,人们发明了一种网络传输协议,
这种协议可以在文本中插入图片和声音,能使单调的 Internet 世界变得图文并茂。虽然 Web 页面拥用图文和声音,但仍
然是静态的,不具备交互性。要让页面拥有动态画面,并能交互,需要在 Web 页面中嵌入一会段程序。由于在 Internet
上运行的数以千计不同类的计算机,这就要求编写这种程序的语言必须具有平台无关性,并要求语言必须简练,支撑环
境要小,而安全性却很高。Oak 语言恰好能够满足这些要求。
将 Oak 语言正式应用于 Internet 还需要进一步完善,还要求有一个支持它的 Web 浏览器。能用于编写浏览器,并
获得浏览器扶持的新版本 Oak 语言取名 Java。Internet 得到 Java 语言的支持,可以实现真正的交互,人们使用浏览器
能“漫游”丰富多彩的 Internet 世界。
Java 语言是适用于分布式计算环境的面向对象编程语言,它虽类似 C 和 C++,但比 C++简单,忽略了许多为提高计
算效率,初学者较难掌握的程序语言特性。
Java 语言主要有以下特点:
1. 强类型
Java 语言是一种强类型语言,强类型能约束程序员必须遵守更多的编程规定,也能让编译器检测出程序中尽可
能多的错误。
2. 编译和解释
Java 语言是一种高级编程语言,用 Java 语言编写的源程序在计算机上运行需经过编译和解释执行两个严格区分
的阶段。Java 语言的编译程序先将 Java 源程序翻译成机器无关的字节码(bytecode),不是通常的编译程序将源程
序翻译成计算机的机器代码。运行时,Java 的运行系统和链接需要执行的类,并作必要的优化后,解释执行字节码
程序。
3. 自动无用内存回收功能
Java 语言具有自动无用内存回收功能,程序可以按需使用内存,但不需要对无用内存显式地撤销分配。系统有
一个垃圾收集器(garbage collector),自动收集程序不再使用的内存。这样,能避免显式的撤销分配所引起的安全
问题。Java 语言不再含有任何不安全的语言成分。例如,没有指针,数组元素都要检查下标是否越界。
4. 面向对象
面向对象是程序员编写大型程序、有效控制程序复杂性的重要手段。Java 语言在面向对象方面,比 C++更“纯”,
它的所有数据类型,包括布尔类型、整形、字符型等,都有相应的类,程序可完全基于对象编写。
面向对象语言主要有封装性、继承性和多态性三个特点。封装就是将实现细节隐藏起来,只给出如何使用的信
息。数据及数据上的操作用类封装,对象是类的实例,外界使用对象中的数据及可用的操作受到一定的限制。继承
体现众多的一种层次对象的特性,下一层的类可从上一层的类继承定义,从上一层类派生的类的对象能继承上一层
对象的特性,同时可以改变和扩充一些特性,以适应其自身的特点。多态性的意义主要体现在逻辑上相同的不同层
次上的操作,使用相同的操作名,根据具体对象,能自动选择对应的操作。Java 语言很实用地实现了这三种特性。
5. 与平台无关
与平台无关是对程序可移植性最直接最有效的支持。Java 语言的设计者在设计时重点考虑了 Java 程序的可移植
性,采用多种机制来保证可移植性,其中最主要的是定义了一种虚拟机(virtual machine),以及虚拟机使用的 java
字节码。在任何平台上,Java 源程序被 Java 编译器编译成虚拟机能够识别的字节码。这样,只要有 Java 虚拟机的
平台,就能解释执行 java 字节码程序,从而实现 Java 与平台无关。另外,Java 语言还采用基于国际标准的数据类
1/177