370 likes | 533 Views
《 增量式模块化程序设计 》. 基础知识篇. 第 1 章 Java 初探. 本章学习目标. 了解 Java 语言的历史和特点。 理解 Java 与其他编程语言间的关系。 初步了解简单 Java 程序的构成。 了解流行的 Java 程序集成开发环境。 掌握 Java Application 的一般开发步骤。. 1.1 Java 概述. Java 是由美国 Sun 公司开发的支持面向对象程序设计的语言,它最大的优势是借助于虚拟机机制实现的跨平台特性,实现所谓的“ Write once , run everywhere” 。
E N D
《增量式模块化程序设计》 基础知识篇
本章学习目标 • 了解Java语言的历史和特点。 • 理解Java与其他编程语言间的关系。 • 初步了解简单Java程序的构成。 • 了解流行的Java程序集成开发环境。 • 掌握Java Application的一般开发步骤。
1.1 Java概述 • Java是由美国Sun公司开发的支持面向对象程序设计的语言,它最大的优势是借助于虚拟机机制实现的跨平台特性,实现所谓的“Write once,run everywhere”。 • 易移植性及网络编程使得Java迅速流行起来,成为一种深受广大开发者喜欢的编程语言。 • 目前,随着J2ME、J2SE和J2EE的发展,Java已经不仅仅是一门简单的计算机开发语言了,它已经拓展发展出一系列的业界先进技术。
三种版本 • J2ME(Java 2 Micro Edition)是Java的微型版,常用于嵌入式设备及消费类电器(如手机等)上的开发。 • J2SE(Java 2 Standard Edition)是Java的标准版,用于针对普通PC的标准应用程序开发。 • J2EE(Java 2 Enterprise Edition)是Java的企业版,用来针对企业级进行应用服务的开发。
1.1.1 Java的诞生 • 1990年12月,SUN 公司成立一个叫做Green Team的小组 。 • Green Team发表了一款名叫Star Seven(*7)的机器,它有点像现在我们熟悉的PDA(个人数字助理),不过它有着比PDA还强大的功能,比如无线通讯(wireless network)、5寸彩色的LCD、PCMCIA介面等等。
Java的诞生 • Java语言的前身Oak就是在那时诞生的,主要的目的是用来撰写在 star 7上的应用程序。 • 因为当时Oak要去注册商标时,发现已经有另外一家公司已经先用了Oak这个名字。Oak这个名字不能用,那要取啥新名字呢?工程师们边喝着咖啡讨论着,看看手上的咖啡,突然灵机一动,就叫 Java好了。就这样它就变成了业界所熟知的Java了。 • 在1995年5月23日,JDK(Java Development Kits)1.0a2版本正式对外发表,它标志着Java的正式诞生。
1.1.2 Java的特点 • 1. 平台独立性
2. 安全性 • (1)去除指针,避免了对内存的非法访问。 • (2)Java是一种强类型的程序设计语言,要求显示的声明,保证编译器可以提前发现程序错误,提高可靠性。 • (3)垃圾自动回收机制让程序员从烦人的内存管理工作中解脱出来,专注于程序开发;它很好的确保内存管理的正确性,避免出现“内存泄露”现象。 • (4)Java语言提供了异常处理机制。 • (5)Java程序运行时,解释器会对其进行数组和字符串等的越界检查,确保程序安全。
3. 多线程 • 在DOS年代里,人们一次只能运行一个程序,执行完才能运行下一个,后来出现了视窗windows之后,人们可以同时运行几个程序,并在各个运行程序间做切换,比如一边听音乐一边编辑word文档。 • 再后来,为了提高程序的并发性,又引入了线程的概念,线程也称作轻量级进程,进程是系统分配资源的基本单位,而线程成为了系统CPU调度执行的基本单位,一个进程可以只有一个线程,也可以有多个线程。
4. 网络化 • 在网络环境中,对象可以在本地或远程机器执行。Java程序可以通过网络打开和访问对象,就像访问本地系统一样。 • Java语言提供的丰富类库保证了其可以在HTTP、FTP和TCP/IP协议中良好运行。 • Java Applet程序需要客户端浏览器的支持,并且其是通过标签对<applet>< /applet >将自己嵌入HTML中。当用户浏览该WEB页时,Java Applet程序才从服务器端下载到客户端解释执行。因此也称Java Applet是可移动代码,这种移动性为分布式程序开发提供了一种新的技术途径。
5. 面向对象 • (1)封闭性 • (2)继承性 • (3)多态性
1.1.3 Java与其他编程语言间的关系 • C语言适合用来开发系统程序,像很多的操作系统及驱动程序都是用C来编写的; • Fortran适合于用来进行数值计算; • Pascal语言结构严谨,适合于做教学语言; • Visual Basic和Delphi适合用来开发中小型的应用程序,C++适合开发大型的应用程序; • 而Java适合开发跨平台的应用程序。 • 每种语言都有其各自的特色,至于选用什么语言作为开发工具,关键要看任务。只有适合的,没有最好的。
1.2 第一个Java程序 • 用Java书写的程序有两种类型:Java应用程序(Java Application)和Java小应用程序(Java Applet)。 public class Hello { public static void main(String args[]) { System.out.println("Hello,welcome to Java programming."); } }
图解 简单Java程序的模版如下: public class 类名 { public static void main(String args[]) { //你的程序代码! } }
注意 ● 类名称后面的大括号标识着类定义的开始和结束,而main方法后面的大括号则标识方法体的开始和结束。Java程序中大括号都是成对出现的。 ● 习惯类名的首字母用大写,变量名小写打头。 ● 程序中应适当使用空格符和空白行来对程序语句元素进行间隔,增加程序的可读性。 ● 在编辑程序时,最好一条语句占据一行。 文件名与public类名在拼写和大小写上必须保持一致。 ● 一个Java Application程序必须定义有且仅有一个main方法,它是程序的执行入口。
1.3 Java程序开发工具 • 编写Java源程序的工具软件很多,只要是能编辑纯文本(注意:word文档不是纯文本)的都可以,比如notepad(记事本),wordpad(写字板),UltraEidt,EditPlus等等。 • 对于Java软件开发人员来说,他们一般倾向于用一些IDE(集成开发环境)来进行程序编写,以提高效率,缩短开发周期。
IDE介绍 • (1)Borland 的JBuilder • 有人说Borland的开发工具都是里程碑式的产品,从Turbo C、Turbo Pascal到Delphi、C++ Builder都是经典,JBuilder是第一个可开发企业级应用的跨平台开发环境,支持最新的Java标准,它的可视化工具和向导使应用程序的快速开发变得可以轻松实现。
IDE介绍 • (2)IBM 的Eclipse • Eclipse是一种可扩展的开放源代码IDE,由IBM出资组建。Eclipse框架灵活、扩展容易,因此很受开发人员的喜爱,目前它的支持者越来越多,大有成为Java第一开发工具之势。
IDE介绍 • (3)Oracle 的JDeveloper • JDeveloper的第一个版本采用的是买的JBuilder的代码设计的,不过已经完全没有了JBuilder的影子了,现在JDeveloper不仅仅是很好的 Java 编程工具,而且是 Oracle Web 服务的延伸。
IDE介绍 • (4)Symantec公司的Visual Cafe for Java • 很多人都知道Symantec公司的安全产品,但很少人知道Symantec的另一项堪称伟大的产品:Visual Cafe,有人认为Visual Cafe如同当年Delphi超越Visual Basic一样,今天,它也超越了Borland 的Delphi。
IDE介绍 • (5)IBM 的Visual Age for Java • 一款非常优秀的集成开发工具,用惯了微软开发工具的朋友在开始时可能会感到非常不舒服,因为Visual Age for Java采取了与微软截然不同的设计方式,为什么会这样呢?那是因为蓝色巨人怎么能跟着微软的指挥棒转呢?!
IDE介绍 • (6)Sun公司的NetBeans 与Sun Java Studio 5 • 以前叫Forte for Java,现在Sun将其统一称为Sun Java Studio 5,出于商业目的Sun将这两工具合在一起推出,不过他们的侧重点是不同的。
IDE介绍 • (7)Macromedia公司的JRUN • 提起Macromedia公司你肯定知道Flash、PhotoShop,但很少人知道他还有一款出色的Java开发工具JRUN,JRun是第一个完全支持JSP 1.0 规格书的商业化产品。
JDK • 综上,我们看到可以用来开发Java的利器很多,它们仅仅是集成的开发环境,而在这些环境中,其实有一样东西是共同的,也是最核心和关键的,那就是JDK(Java Development Kits),中文意思是Java开发工具集,JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)等,所有的开发环境都需要围绕它来进行,缺了它就什么都做不了。
建议 • 对于初学者而言,我们的建议是:JDK+记事本就OK了!因为掌握JDK是学好Java的第一步也是最重要的一步。 • 首先用记事本来编辑源程序,然后再利用JDK来编译、运行Java程序。这种开发方式虽然简陋,但却是大家学好Java语言本身的好途径。
1.4 Java程序开发步骤 • 2.4.1 软件安装 • 最主流的JDK是Sun公司发布的JDK,因此本书采用Sun的JDK,它可以从Sun公司的网站上(http://java.sun.com)免费下载。 • 对于普通Java开发人员和一般学习者来说,选用标准版J2SE就可以了,学会了J2SE,再学J2ME或J2EE就比较容易上手,因为它们之间虽有所侧重,但相似之处很多,尤其是语言本身是一样的,都是Java。
软件安装 • 这里我们采用J2SE 1.4的版本,从网络上下载到j2sdk-1_4_0_03-windows-i586.exe这个安装软件(注意:安装软件必须是针对windows平台上的,不要下错了,因为Sun网站上也提供了其他平台的安装包,如针对Linux等的),下面就可以开始安装了。
软件安装 • 安装工作实际上分为两个步骤。安装程序首先会收集一些信息,用于安装的选择,然后才开始拷贝文件,设置Windows注册表等具体的安装工作。安装过程中,读者只需按照提示一步一步操作即可,假定我们的安装目录设置为C:\jdk1.4(注意:后面配置环境变量时要用到)。 • 安装完毕后,切换至C:\jdk1.4目录,我们可以发现有一些子目录。
安装目录信息 • (1)“bin”文件夹 • “bin”文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet 查看器(appletviewer.exe)等Java命令的可执行文件。
安装目录信息 • (2)“demo”文件夹 “demo”文件夹中包含一些源代码的程序示例。 • (3)“lib”文件夹 “lib”文件夹存放一系列类库。 • (4)“jre”文件夹 “jre”文件夹存放Java运行时可能需要的一些可执行文件和类库。 • (5)“include”文件夹 该文件夹存放一些头文件。
1.4.2 环境变量配置 • 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。在Windows操作系统中环境变量的设置操作如下:
需要配置两个用户变量:path和classpath • 新建(若无)classpath用户变量,设置变量值为“C:\jdk1.4\lib”,此外,当运行自己编写的Java程序时,一般还需要将相应的工作目录也添加到classpath的变量值中,以便程序运行时能找到所编写的Java类。
1.4.3 编译运行 • 设置好环境变量后,就可以在Dos命令行模式下进行编译和运行操作。 • 下面假定程序Hello.java存放在“F:\工作目录”路径 ; • 打开Dos命令窗口进入到工作目录,然后再运行“javac Hello.java”命令 ; • 源程序编译成功,系统自动在工作目录下生成一个字节码文件Hello.class,这是一个二进制格式的文件,供解释运行时用; • 编译成功后,就可以进行程序的运行了。运行Java程序的命令为“java Hello”。
提示 • 不以.java为扩展名的源程序文件是一个错误 。 • 开发Java程序时,开发人员必须用到JDK,而运行或使用Java程序时,用户则只需要有JRE(Java Run-time Environment)Java运行时环境即可。 • 一般在装JDK时,JRE也跟着一起安装了,因此对于不开发Java程序的普通用户来说,只要到网络上下载专门的JRE软件进行安装,即可运行Java程序。
1.5 小结 • (1)下载JDK软件并安装; • (2)配置相应的环境变量 (path和classpath); • (3)编写Java源程序(文本编辑器或集成开发环境); • (4)编译Java源程序,生成字节码文件 (javac *.java); • (5)执行字节码文件 (java 字节码文件名)。
作业 • 1 • 3 • 5