Presentation is loading. Please wait.

Presentation is loading. Please wait.

第1章 Java语言概述 学习目标 本章要点 上机练习 习 题.

Similar presentations


Presentation on theme: "第1章 Java语言概述 学习目标 本章要点 上机练习 习 题."— Presentation transcript:

1 第1章 Java语言概述 学习目标 本章要点 上机练习 习 题

2 学习目标 本章介绍Java语言的基本概念,并进一步描述Java的语法、工作原理、运行环境和特点,然后通过示例详细介绍Java的安装,并针对Java应用程序和小应用程序的区别,结合示例做相应的比较。通过本章的学习使读者会对Java有更进一步的认识,从而了解Java语言的前景和方向。

3 本章要点 Java语言的过去与未来 Java的基本体系 SDK的安装与配置 Java应用程序的开发

4 Java语言的过去与未来 Java语言是目前流行的一种网络编程语言,它的面向对象、跨平台和分布应用等特点给编程人员带来一种崭新的计算概念,使WWW由最初的单纯提供静态信息发展到现在的提供各种各样的动态服务。

5 Java语言的过去与未来 Java不仅能够编写嵌入网页中具有声音和动画功能的小应用程序,而且还能够应用于独立的大中型应用程序,其强大的网络功能可以够把整个Internet作为一个统一的运行平台,极大地拓展了传统单机或Client/Server模式应用程序的外延和内涵。

6 Java语言的过去与未来 Java语言的起源 Java语言的发展前景

7 Java语言的起源 最早Java语言的出现是源于独立开发平台语言的需要,当时人们希望能编写出嵌入到各种家用电器等设备的芯片上、且易于维护的程序。它的出现是为了弥补当时的编程语言,比如C、C++等只能对特定的CPU芯片进行编译的缺陷。

8 Java语言的发展前景 在2005年的Java One开发者大会上,James Gosling做了题为“Java技术下一个10年贡献”的演讲,James Gosling认为,Java技术提高了计算的“流动性”,就如同货币的发明提高了商品的流动性一样。

9 Java语言的发展前景 目前,全球Java开发人员已经超过450万,因此Java社区是一个充满活力和创新精神的团队,这正是Java更加繁荣的保障。为了保持Java的增长和推进Java社区的参与, Sun在Java One开发者大会上宣布开放Java核心源代码,以鼓励更多的人参与到社团活动中来,这是Sun为推进社团发展和维护Java技术兼容性而迈出的重要一步,同时也是Java技术在创新和社会进步上继续发挥重要作用的标志。

10 Java语言的发展前景 随着Java的开源,在未来的十年里,Java的应用范围将变得更广。数字媒体将是Java的下一个目标,同时,Java将教育和健康作为未来Java发展过程中的两大重点应用领域。

11 Java的基本体系 Java作为一种高级编程语言,与其他语言相比具有一些独特的结构和方法,下面将对这些内容作一个详细的介绍。 Java的语法

12 Java的语法 Java是面向对象的程序设计语言,其基本语法和C语言大致相同。从一定角度上讲,C语言加上面向对象功能就是C++,那么Java与C++有什么区别呢?简要的说,Java改进了C++的一些缺点,并增加了一些新的功能,从而变得比C++更加简单、易学,编写出来的程序也更具健壮性。

13 Java的语法 下面就对它们进行一个简单的比较。
ava去掉了C语言的指针。如指针使用得当,对增强程序的功能有很大帮助,一旦使用不当,经常会导致死机。

14 Java的语法 Java没有了C语言中的预处理器,如#ifdef、#define、常量声明等都不使用了,当然也少了#include命令,从而也没有头文件(.h文件)。和C++相比,Java不支持多继承的概念,目的是为了避免对象和对象之间的关系复杂化。

15 Java的语法 Java增加了垃圾回收机制、异常处理和新的限定词等功能。这些几乎全部都是基于整个系统和程序本身安全性的考虑。

16 Java的工作原理 Java语言引入了Java虚拟机,具有跨平台运行的功能,能够很好地适应各种Web应用。同时,为了提高Java语言的性能和健壮性等特点,还引入了如垃圾回收机制等新功能,通过这些改进让Java具有其独特的工作原理。

17 Java的工作原理 Java虚拟机 无用内存自动回收机制 代码安全性检查机制

18 Java虚拟机 Java虚拟机(Java Virtual Machine,简称JVM)是软件模拟的计算机,它可以在任何处理器上安全兼容地执行保存在.class文件中的字节码。Java虚拟机的“机器码”保存在.class文件中,有时也可以称之为字节码文件。

19 Java虚拟机 Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。应此在运行时,Java源程序需要通过编译器编译成为.class文件。

20 Java虚拟机 Java虚拟机的建立需要针对不同的软硬件平台来实现,既要考虑处理器的型号,也要考虑操作系统的种类。由此在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX、Linux、windows和部分实时操作系统上都可实现Java虚拟机。

21 无用内存自动回收机制 在程序的执行过程中,部分内存在使用过后就处于废弃状态,如果不及时进行回收,很大可能会导致内存泄漏,进而引发系统崩溃。

22 无用内存自动回收机制 在C++语言中是由程序员进行内存回收的,程序员需要在编写程序时把不再使用的对象内存释放掉,这种人为管理内存释放的方法往往由于程序员的疏忽而致使内存无法回收,同时也增加了程序员的工作量。

23 代码安全性检查机制 安全和方便总是相对矛盾的。Java编程语言的出现使得客户端电脑可以方便地从网络上传或下载Java程序到本地电脑上运行,但是如何保证该Java程序不携带病毒或者没有其他危险目的呢?

24 代码安全性检查机制 为了确保Java程序执行的安全性,Java语言通过applet程序来控制非法程序的安全性,也就是有了它才确保Java语言的生存。

25 代码安全性检查机制 Java字节码的执行需要经过3个步骤,具体操作步骤如下:
(1)由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机中,在此过程需要检验该类文件是否符合类文件规范。

26 代码安全性检查机制 (2)字节码校验器(bytecode verifier)检查该类文件的代码中是否存在着某些非法操作,例如applet程序中写本地电脑文件系统的操作。 (3)如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为机器码进行执行。

27 Java的运行环境 无论哪种语言都需要有它特定的运行环境也就是平台,Java语言同样不例外,但是如何理解Java程序硬件环境无关呢?

28 Java的运行环境 其实,也正是因为这个原因才使Java这种语言具有了平台无关性。当完成一个Java源程序后,首先,通过Java翻译程序将它编译成一种叫做字节码的中间代码,然后再由Java平台的解释器将它转换成为机器语言来执行一平台的核心就是JVM。

29 Java的运行环境 Java的编译过程与其他的语言不同,像C++这样的语言,在编译时,它与电脑的硬件平台信息密不可分的。编译程序通过查表将所有指令的操作数和操作码等转换成内存的偏移量,即程序运行时的内存分配方式,目的是保证程序正常运行。

30 Java的运行环境 Java平台具有这样的特性和它的结构有关。通常一个程序运行的平台是一个硬件或者软件运行的环境,目前比较流行的是Windows 2000, Linux, Solaris,和MacOS。Java的平台不太一样,它由两个部分组成即JVM和应用程序设计接口。

31 Java的运行环境 JVM Java应用程序设计接口

32 JVM JVM是Java平台的核心,为了让编译产生的字节码能更好的解释与执行,因此把JVM分成了6个部分:JVM解释器、指令系统、寄存器、栈、存储区和碎片回收区。 JVM解释器:即这个虚拟机处理字段码的CPU。

33 JVM JVM指令系统:该系统与电脑很相似,一条指令分成操作码和操作数两部分组成。操作码为8位二进制数,主要是为了说明一条指令的功能,操作数可以根据需要而定,JVM有多达256种不同的操作指令。

34 JVM 寄存器:JVM有自己的虚拟寄存器,这样就可以快速地与JVM的解释器进行数据交换。为了功能的需要,JVM设置了4个常用的32位寄存器:pc(程序计数器)、optop(操作数栈顶指针)、frame(当前执行环境指针)和vars(指向当前执行环境中第一个局部变量的指针)。

35 JVM VM栈:指令执行时数据和信息存储的场所和控制中心,它提供给JVM解释器运算所需要的信息。

36 JVM 碎片回收区:JVM碎片回收是指将使用过的Java类的具体实例从内存进行回收,这就使得开发人员免去了自己编程控制内存的麻烦和危险。随着JVM的不断升级,其碎片回收的技术和算法也更加合理。

37 Java应用程序设计接口 Java Application Programming Interface,简称Java API,其中文名为Java应用程序设计接口,它是一个软件集合,其中有许多开发时所需要的控件,用它来辅助开发。

38 Java应用程序设计接口 Java API和JVM构成了Java运行的基本的环境,这两种软件整合在一起处于电脑之上,通过这两种软件,Java平台把一个Java应用程序从硬件系统分离开,从而很好地保证了程序的独立性。

39 Java语言的特点 Java语言作为目前使用最为广泛的网络编程语言之一,它具有简单、面向对象、稳定、与平台无关、解释型、多线程和动态等特点。

40 Java语言的特点 解释型 多线程 动态性 安全性 可移植性 高性能

41 简单 如果学习过C++,会感觉Java非常类似,因为Java中许多基本语句的语法和C++几乎一样。但是Java并不是C++的增强版,Java和C++是两门不同类型的电脑语言,它们各有各的优势,将会长期并存下去。目前Java和C++已成为软件开发者应当掌握的语言之一。

42 面向对象 面向对象是指把软件组成一系列合并了数据结构和行为的对象。面向对象的程序更符合人的思维模式,更容易编写。

43 与平台无关 与平台无关是Java语言最大的优势。其他语言编写的程序面临的一个主要问题是操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或者无法运行。Java虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了JVM的电脑上正确运行,可以说“一次写成,处处运行”。

44 解释型 C、C++等语言,都是只能对特定的CPU芯片进行编译。生成机器代码,该代码的运行就和特定的CPU有关。

45 解释型 Java不针对特定的CPU芯片进行编译,而是把程序编译为字节码,字节码很接近机器码,可以在提供了JVM的任何系统上被解释执行。因为不针对某类电脑,所以不会出现C语言中的类似问题。

46 多线程 支持内置的多线程也Java的其特点之一,多线程允许同时完成多个任务。目前的单核计算机处理器在同一时刻只能执行一个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好象是多个任务在同时执行。

47 多线程 C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行程序设计。

48 动态性 Java程序的基本组成单元是类。有些类是用户编写的,有些是从类库中调用,而类又是程序运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库,而不像C++那样,每当其类库升级之后,相应的程序都必须重新修改和编译。

49 安全性 Java语言在编译及运行程序时,都要进行严格的检查。作为一种强制类型语言,Java在编译和连接时都需进行大量的类型检查,防止不匹配问题的发生。如果引用一个非法类型、或执行一个非法类型操作,Java将在解释时指出该错误。

50 安全性 在Java程序中没有采用地址计算的方法来实现指针访问内存单元,大大减少了错误发生的可能性,而且Java的数组也不使用指针实现,这样就可以在检查中避免数组越界的发生。还有无用内存自动回收机制也增加了Java的可靠性。

51 安全性 另一方面,作为网络语言,Java必须提供足够的安全保障,并且要防止病毒的侵袭。当从网络上下载一个程序时,我们担心是程序中含有恶意的代码,甚至该程序是一个病毒程序等。

52 安全性 当使用支持Java的浏览器时,可以放心地运行Java的小应用程序(Java Applet),不必担心病毒的感染和恶意的企图。Java小应用程序将被限制在Java运行环境中,不允许它访问计算机的其他部分。

53 可移植性 网络上充满了各种不同类型的机器和操作系统,为使Java程序能在网络的任何地方运行,Java编译器编译生成了与体系结构无关的字节码结构文件格式。

54 可移植性 任何种类的计算机,只有在其处理器和操作系统上有Java运行时的运行环境,字节码文件就可以在该计算机上运行。即使是在单一系统的计算机上也可以运行。

55 可移植性 Java体系结构的中立也使得它具有可移植性。Java运行时系统可以移植到不同的处理器和操作系统上,Java的编译器是由Java语言实现的,解释器是由Java语言和标准C语言实现的,因此可以较为方便地进行移植。

56 高性能 Java是具有非常高的性能,在一些特定的CPU上,Java字节码可以快速地转换成为机器码进行执行,而且Java字节码格式的设计就是针对机器码的转换,它的转换过程相当简便,自动的寄存器分配与编译器对字节码的一些优化可使其生成高质量的代码。

57 Java程序的运行 Sun公司最早推出的Java开发环境称为Java开发工具包(Java Development Kit,简称JDK),主要用于构建在Java平台上运行的应用程序、小应用程序和组件等。

58 Java程序的运行 经过发展,从JDK 1.2.1版本起,将JDK 1.2更名为J2SDK(Java 2 Platform Standard Edition Software Development Kit),这个软件开发工具包通常是为了开发某一个方面的程序软件而设计的,由厂商提供的集成封装的库(library),通用性更强。本书的所有程序都使用J2SDK1.4.2编译运行。

59 Java程序的运行 SDK的安装与配置 Java程序的开发过程 Java开发工具简介 Java应用程序和Java小应用程序的开发

60 SDK的安装与配置 学习Java需要有一个程序的开发环境,目前有许多Java程序开发环境可用,比如Sun、Borland、Sysmantec公司的JBuild等,但学Java最好选用Sun公司推出的软件开发工具箱SDK,下面将以J2SDK 为例讲解SDK的安装与配置的方法。

61 SDK的安装与配置 SDK的安装 SDK的配置

62 SDK的安装 下面介绍Sun公司发布的J2SDK的1.4.2版本的安装全过程。

63 SDK的配置 安装完成需要配置SDK环境变量,从而可以对编辑的Java程序进行编译。
如果想运行其他用户的Java程序,可以只安装Java运行环境JRE,JRE由Java虚拟机、Java的核心类,以及一些支持文件组成,可以登陆Sun的网站免费下载Java的JRE。

64 Java程序的开发过程 在开始编写Java程序之前,首先应该熟悉它的开发过程。 编写Java源文件 编译Java源程序 运行Java程序

65 Java程序的开发过程

66 编写Java源文件 使用文本编辑器,如Edit或记事本来编写源文件,但是要注意,因Word编辑器含有不可见字,符所以不可使用。编写完成后的源文件应以.Java为扩展名保存起来。

67 编译Java源程序 使用Java编译器(javac.exe)编译源文件,可得到字节码文件。

68 运行Java程序 Java程序分为两类——Java应用程序Application和Java小应用程序Applet。Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。通常Netscape Navigator和Microsoft Explorer这两种常见浏览器都完全支持Java。

69 Java开发工具简介 “工欲善其事,必先利其器”,各种工具在程序开发中的地位显得十分重要。在软件开发过程中,编码所占的比重越来越少,这是因为一方面,经过多年的积累,可复用的资源越来越多。另一方面,开发工具的功能、易用等方面发展很快,使编码速度产生了飞跃。

70 Java开发工具简介 Java的开发工具分成3大类,即文本编辑器、Web开发工具和集成开发工具。 文本编辑器 Web开发工具 集成开发工具

71 文本编辑器 这类工具只提供了文本编辑功能,它只是一种类似记事本的工具。这类工具可以进行多种编程语言的开发。在这类中,主要推荐UltraEdit和EditPlus两种编辑器。

72 Web开发工具 这类工具提供了Web页面的编辑功能,具体到Java主要就是Java Server Pages(JSP)页面的开发。主要推荐HomeSite。

73 集成开发工具 这类工具提供了Java的集成开发环境,为需要集成Java与J2EE的开发者、开发团队提供对Web applications、Servlets、JSPs、EJBs、数据访问和企业级应用的强大支持。现在的很多工具属于这种类型,也是Java开发工具的发展趋势。

74 集成开发工具 在这类中,主要推荐NetBeans 、UltraEdit、Homesite、Jbuilder、WebGain、WebSphere Studio、VisualAge for Java和Eclipse。 下面对每个工具做简单介绍。

75 集成开发工具 1)NetBeans NetBeans是Sun公司最新发布的商用全功能的Java集成开发环境(IDE),适用于各种客户机和Web应用,支持Solaris、Linux和Windows平台,适用于创建和部署两层Java Web应用和n层J2EE应用的企业开发人员使用。

76 集成开发工具 NetBeans主要针对一般Java软件的开发者,与其他开发工具相比,最大区别在于不仅能够开发各种台式机上的应用程序,而且可以用来开发网络服务方面的应用程序、可以开发基于J2ME的移动设备上的应用程序等。

77 集成开发工具 2)UltraEdit UltraEdit是文本编辑器中的优秀代表,它不但可以编辑文本,还可以编辑十六进制代码,主要特性如下。
可以打开多个文件,文件大小无限制,每个文件都会有一个页面,非常直观。

78 集成开发工具 既可以记住最近使用的文件,也可以加入到favorate文件表中,还可以建立一个项目文件,把相关文件组织起来。
能保持代码的缩进,在任何时候,行号都会在窗口的状态栏里显示,还可以在view菜单中选择是否每行显示行号的命令。

79 集成开发工具 通过配置为不同代码设置不同的颜色。 可以搜索和替换打开的所有文件。 支持多级的撤销和恢复。 3)HomeSite
HomeSite是目前最为流行的站点开发工具之一,它提供用于JSP开发的内建支持。

80 集成开发工具 主要特性如下。 可以为不同代码设置不同的颜色。 可以创建JSP代码的代码片段重用(Code snippets)。
支持HTML中的对象属性显示功能。

81 集成开发工具 4)Jbuilder Jbuilder是目前常用的Java开发工具之一,在协同管理、对J2EE和XML的支持等方面都比较好。
主要特性如下。 提供与Tomcat集成,使Web开发更容易。

82 集成开发工具 提供了对企业应用的开发功能,可以集成多种应用服务器。 提供了更简单的程序发布功能,所有的应用都可以打包。
提供了团队开发能力,可以集成多种版本控制产品。

83 集成开发工具 5)WebGain 它是由VisualCafe发展而来,现在又提供了对EJB开发的支持,实现了窗口的SDI模式。

84 集成开发工具 6)WebSphere Studio
WebSphere Studio Application Developer 提供了创建、开发、测试和管理所有Web 及企业范围的J2EE应用的工具。可定制透视图使Web 开发者、Java 程序员、EJB 开发人员和管理者共享同一个开发工具。它的核心是应用创建工具、编辑器和向导工具帮助快速开发J2EE资源。

85 集成开发工具 7)VisualAge for Java
VisualAge for Java可以很好的与IBM的其他产品进行集成,可以很好的开发Java和J2EE的应用。

86 集成开发工具 8)Eclipse Eclipse是专门开发Java程序的IDE环境,还可以扩展到任何语言的开发。同时Eclipse还是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。但是现在Eclipse还没有对EJBs的开发。

87 集成开发工具 主要特性如下。 很方便的对源文件进行导入和导出。 源代码的管理更加随心所欲。 支持团队开发。 支持插件开发功能。
通过介绍,可以对各种开发工具有一个初步的认识。在本书中,所有示例都采用NetBeans进行开发。

88 Java应用程序和Java小应用程序的开发
根据结构组成和运行环境的不同,Java程序可以分为两类:Java应用程序(Java Application)和Java小应用程序(Java Applet)。

89 Java应用程序和Java小应用程序的开发
简单的说,Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。

90 Java应用程序和Java小应用程序的开发
Java Application和 Java Applet各自使用的场合也不相同,本节将以介绍一个最简单的Java Application和Java Applet应用程序进行讲解。 Java Application程序 Java Applet程序

91 Java Application程序 一般高级语言编程需要经过编辑源程序、编译生成目标程序和运行可执行程序这几个过程,Java编程也不例外,分为编辑源程序、编译生成字节码和解释运行字节码3个步骤。

92 Java Application程序 1)编辑源程序
Java源程序是以“.java”为后缀名的文本文件,可以用各种Java集成开发环境中的源代码编辑器来编写,也可以用其他文本编辑工具。

93 Java Application程序 【例1-1】 创建一个简单的Java Application程序的源程序(光盘:\源文件\第1章\例1-1)。 主要参数说明如下。

94 Java Application程序 ①在首行中利用import语句加载已定义好的类或包在本程序中使用,大体类似于在C程序中用#include语句加载库函数。

95 Java Application程序 ②在这个程序里使用了多处行注释,在Java程序中,两道斜线//代表行注释的开始,跟在它后面的所有内容都将被编译器和解释器忽略,使用它可提高程序可读性。

96 Java Application程序 ③关键字class说明一个类定义的开始。类定义由类头部分和类体部分组成。类体部分的内容由一对大括号引出,在类体内部不能再定义其他的类。任何一个Java程序都是由若干个这样的类定义组成的。

97 Java Application程序 需要指出的是Java是区分大小写的语言,定义类必须使用关键字class作为标志。在上面的 Java源程序中只定义了一个类,其类名为MyJavaApplication。

98 Java Application程序 ④main方法是一个特殊的方法,它是所有的Java Application程序执行的入口点,所以任何一个Java Application方法有且只有一个main方法,main方法的头必须按照下面的格式书写: public static void main(String args[ ])

99 Java Application程序 当执行Java Application时,整个程序将从这个main方法的方法体的第一条语句开始执行。

100 Java Application程序 在上面的Java源程序中,main方法只有一个语句:
System.out.println(″Hello,Java World!″); 这个语句将把字符串“Hello,Java World!”输出到系统标准输出上,如系统屏幕。

101 Java Application程序 其中System 是系统内部定义的一个系统对象;out是System 对象中的一个域,也是一个对象;println是out对象的一个方法,其作用是向系统的标准输出其形参指定的字符串,并回车换行。

102 Java Application程序 2)编译生成字节码
高级语言程序从源代码到目标代码的生成过程称为编译。在Java程序中,源代码经编译所得的目标码称为字节码,字节码是二进制的文件,由Java语言的解释器来解释执行字节码。

103 Java Application程序 编译字节码需要使用专门的Java编译器,在Java集成开发环境中,只要选择一个菜单命令或单击某一个按钮就可以完成这个编译过程,而在SDK这样的命令行开发工具中则需要运行独立的编译程序。把SDK软件包从网上下载到本地机之后,就可以用命令行调用专用的Java编译器生成字节码。

104 Java Application程序 【例1-2】 把例1-1中的源程序编译生成字节码。(光盘:\源文件\第1章\例1-1)
【例1-2】 把例1-1中的源程序编译生成字节码。(光盘:\源文件\第1章\例1-1) 在C语言等其他高级语言的编译过程中,通常都是一个源代码文件生成一个目标码文件,而Java程序的编译则是对应源代码文件中定义的每个类,生成一个以这个类名字命名、以.class为后缀的字节码文件,源代码中定义了几个类,编译结果就生成几个字节码文件。

105 Java Application程序 例1-1中源代码文件MyJavaApplication.java中定义了一个类MyJavaApplication,所以编译的结果将产生一个字节码文件。

106 Java Application程序 3)解释运行字节码
高级编程语言按照执行模式可以划分为编译型和解释型两种。编译型的高级语言,生成的目标码经链接后就成为可以直接运行的可执行代码;而解释型语言,其程序不能直接在操作系统中运行,需要有一个专门的解释器程序来解释执行。

107 传统语言与Java的不同运行机制

108 Java Application程序 由于编译型语言是直接作用于操作系统的,所以对运行它的软硬件平台有着较强的依赖性,在一个平台上可以正常运行的编译语言程序在另一个平台上可能完全不能工作,而必须在这个特定平台上将源代码重新编译,从而生成适合这个特定平台的可执行代码。

109 Java Application程序 一般说来,解释型的语言比较简单,执行速度也较慢,但是在网络应用平台中,解释型语言却有着一个重要的优势,为解决上述问题提供了一个全新的思路,Java就是遵循这个思路设计而成的。由Java源代码编译生成的字节码不能直接运行在操作系统平台上,而必须运行在JVM软件平台上。

110 Java Application程序 【例1-3】 解释运行例1-2生成的MyJavaApplication.class字节码(光盘:\源文件\第1章\例1-1)。 Java Application是由独立的解释器程序来运行的,在SDK 软件包中,用来解释执行Java Application 字节码的解释器程序称为java.exe。

111 Java Applet程序 Java Applet是另一类非常重要的Java程序,虽然它的源代码编辑与字节码的编译生成过程与Java Application相同,但它却不能独立运行,其字节码文件必须嵌入到超文本标记语言(HTML)文件中并由负责解释HTML文件的WWW浏览器充当其解释器,来解释执行Java Applet的字节码程序。

112 Java Applet程序 超文本标记语言是Internet上最广泛应用的信息服务形式WWW中使用的通用语言,它可以将网络上不同地点的多媒体信息有组织地呈现在WWW浏览器中,而Java Applet可以在WWW中引入动态交互的内容,使得它不仅能提供静态的信息,而且可以提供可靠的服务,从而使网络更广泛地渗入到社会生活的方方面面。在Java语言诞生的初期,最让人们着迷的,正是Java Applet。

113 Java Applet程序 1)编辑源程序 【例1-4】 创建一个简单的Java Applet程序的源程序。(光盘:\源文件\第1章\例1-4) 说明: 虽然Java Application和Java Applet在运行方式上有很大的不同,但是它们遵循相同的Java语言的语法规则,所以编译时也使用完全相同的编译工具。

114 Java Applet程序 【例1-5】 把例1-4中的源程序编译生成字节码(光盘:\源文件\第1章\例1-4)。

115 Java Applet程序 2)代码嵌入HTML文件
运行Java Applet时必须将其字节码嵌入到HTML文件中,以例1-5中的Java Applet程序为例,它可以嵌在如下的HTML文件中: 【例1-6】 在HTML文件代码中将Java Applet字节码嵌入(光盘:\源文件\第1章\例1-6)。

116 Java Applet程序 3)Applet的运行
首先将编译好的字节码文件和编写好的HTML文件保存在Web服务器的合适路径下;当WWW浏览器下载此HTML文件并显示时,它会自动下载此HTML中指定的Java Applet字节码,然后调用内置在浏览器中Java解释器来解释执行下载到本机的字节码程序。

117 Java Applet的下载执行过程

118 Java Applet程序 从这个过程中可以看出,Java Applet的字节码程序最早是保存在Web服务器上的,而它的运行过程则是在下载到本地后,在本地电脑上完成的,这实际上就是网络应用程序的发布过程。当Applet程序需要修改或维护时只要改动服务器一处的程序即可,而不必修改每一台将要运行此Applet程序的计算机。

119 Java Applet程序 另外,SDK软件包中还提供了一个模拟WWW浏览器运行Applet的应用程序AppletViewer.exe,也可以使用它来方便地调试程序。

120 Java Applet程序 【例1-7】 运行Java Applet程序,可以使用如下的命令查看包含它的HTML文件。

121 Java Applet程序 Java Applet是由若干个类定义组成的解释型程序,其中必须有一个类是系统类Applet的子类。执行Java Applet时,需先将编译生成的字节码文件嵌入HTML文件,并使用内置Java解释器的浏览器来解释执行这个字节码文件。

122 上 机 练 习 本节将通过编写并运行一个Java Application程序和Java Applet程序两个上机练习,帮助读者巩固本章所学的知识点。 编写并运行Java Application程序 编写并运行Java Applet程序

123 编写并运行Java Application程序

124 MyFirstJavaProgram运行结果

125 编写并运行Java Applet程序 本次练习将编写并运行一个Java Applet程序(光盘:\源文件\第1章\上机练习2)。

126 MyFirstJavaApplet运行结果

127 习 题 (1)下载并安装SDK软件包,尝试查看其中的JDK文档。
习 题 (1)下载并安装SDK软件包,尝试查看其中的JDK文档。 (2)编写一个Java Application应用程序,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出“Welcome to Java World!”。

128 习 题 (3)编写一个Java Applet应用程序,使之能够在浏览器中显示“Welcome to Java AppletWorld!”的字符串信息。 (4)编写一个HTML文件,将上一题中生成的Applet字节码嵌入其中,并用WWW浏览器观看这个HTML文件规定的Web页面。


Download ppt "第1章 Java语言概述 学习目标 本章要点 上机练习 习 题."

Similar presentations


Ads by Google