《《Java语言程序设计实验指导》电子教案 第01章.ppt》由会员分享,可在线阅读,更多相关《《Java语言程序设计实验指导》电子教案 第01章.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1 1章章 JavaJava语言概述语言概述 Java语言是由Sun公司于1995年推出的一种新的编程语言,它是一种跨平台、适合于分布式计算环境的纯面向对象语言。Java语言及其扩展正在逐步成为互联网应用的规范,掀起了自PC机以来的又一次技术革命。本章主要介绍Java语言的起源、特点、简单示例等。1.1 1.1 JavaJava语言的起源和发展语言的起源和发展1.2 1.2 面向对象的程序设计面向对象的程序设计1.3 1.3 JavaJava语言的特点语言的特点1.4 1.4 JavaJava程序的运行程序的运行Return1.1 1.1 JavaJava语言的起源和发展语言的起源和发展1
2、.1.1 1.1.1 几种典型语言的发展历程几种典型语言的发展历程1.1.2 1.1.2 JavaJava语言的起源语言的起源1.1.3 1.1.3 JavaJava语言的发展语言的发展Return 一般认为,B语言导致了C语言的诞生、C语言演变出C+语言,而Java语言则明显带有C+语言的特征。本节将对Java语言的起源和发展作简要介绍。1.1.1 1.1.1 几种典型语言的发展历程几种典型语言的发展历程Return Java总是和C+联系在一起,而C+则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象特性都受到C+的影响。
3、事实上,Java中几个自定义的特性都来自于或可以追溯到它的这些前驱语言。略有不同的是,Java语言完全面向对象,从而摒弃了二者的不足之处。Java语言的诞生与过去约30年中计算机语言的不断改进和发展密切相关。基于这些原因,下面我们将简要介绍一下这个发展历程。1 1现代编程语言的诞生:现代编程语言的诞生:C C语言语言 2 2对编程方法的新需要:对编程方法的新需要:C+C+语言语言3 3时机的到来:时机的到来:JavaJava语言的出现语言的出现1.1.2 1.1.2 JavaJava语言的起源语言的起源Return Java是由James Gosling、Patrick Naughton、Ch
4、ris Warth、Ed Frank以及Mike Sheridan等人于1991年在Sun Microsystems公司设计出来的,开发第一个版本花了18个月时间。该语言最初名叫“Oak”,后来发现“Oak”已经是Sun公司另外一种语言的注册商标,于1995年更名为“Java”,即太平洋上一个盛产咖啡的岛屿的名字。从1992 的秋天Oak问世,到1995春天公开发布Java语言,许多人都对Java的设计和改进做出了贡献。1.1.3 1.1.3 JavaJava语言的发展语言的发展Return 自从于1995年被正式推出之后,Java语言就以其独特的优势迅猛发展,经过短短8、9年时间,成为迄今为
5、止最为优秀的面向对象语言。Java也从当初的一种语言而逐渐形成一种产业,基于Java语言的J2EE架构已成为微软.NET平台的强大竞争对手。当初,Java语言最初的发布不亚于一场革命,但是它并不标志着Java快速革新时代的结束。在Java 1.0发布后不久,Java的设计者就已经制定出了Java 1.1、Java 1.2、Java 1.3、Java 1.4、Java 2、Java 2.1.4版。1.2 1.2 面向对象的程序设计面向对象的程序设计1.2.1 1.2.1 面向对象技术的提出面向对象技术的提出1.2.2 1.2.2 面向对象的编程思想面向对象的编程思想1.2.3 1.2.3 面向对
6、象编程的基本原则面向对象编程的基本原则Return 面向对象的编程思想由来已久,但真正意义上的纯面向对象编程语言目前只有Java。本节将结合几种高级语言对面向对象程序设计思想进行简要介绍。1.2.1 1.2.1 面向对象技术的提出面向对象技术的提出Return 我们知道,所有的计算机程序均由两类元素组成:代码和数据。如何实现这两类元素的有效结合而形成可运行的程序,是多年来程序设计人员所探索的问题。最初,程序的构筑一般围绕“正在发生什么”而编写代码,这种方法被称为面向过程的编程。使用这种方法编写的程序都具有线性执行的特点。面向过程的编程模型可认为是代码作用于数据,像Pascal、C这样的过程式语
7、言采用此模型是相当成功的。然而,使用面向过程的方法对小程序的编写可能是比较有效的,但当程序变得非常大且更为复杂时,就会出现种种问题,直至失去对代码的有效控制。由此对软件工程中的编程方法问题提出了新的要求。为了管理不断增加的复杂性,另外一种编程方式被提了出来,即面向对象的编程(OOP,Object-Oriented Programming)。这种编程方式围绕“谁将受到影响”进行,即以代码的相关数据为核心点进行程序编写。面向对象的编程着眼于它的数据(即对象)和为此数据严格定义的接口来组织程序,程序实际上是用数据控制对代码的访问。这种方式的最大特点是代码与其相关数据被分离开来进行处理,有利于程序规模
8、的扩大,而程序的可维护性得到增强。1.2.2 1.2.2 面向对象的编程思想面向对象的编程思想Return 前面提到的面向过程程序,它遵循面向过程的问题求解方法,其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决流程。数据结构和算法是面向过程问题求解的核心所在。而面向对象技术则代表了一种全新的程序设计思路,其观察、表述、处理问题的方法,与传统的面向过程的编程方法不同。面向对象的程序设计和问题求解力求符合人们日常自然的思维习惯,尽量分解、降低问题的难度和复杂性,从而提高整个求解过程的可监测性、可控制性和可维护性,以此达到以较小代价和较高效率获得较满意效果之目的。面向对象编程
9、一个实质性的要素是抽象。1.2.3 1.2.3 面向对象编程的基本原则面向对象编程的基本原则 1 1封装性封装性 封装(Encapsulation)是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。一个对象的基本要素包括属性和作用在属性上的操作(方法或事件)。对象的使用实现了数据抽象,它将一组数据和对这组数据的操作结合成一个内在的整体,不允许外界对这组数据任意进行访问,这里就用到了封装的原理。封装的目的是为了实现数据隐藏和数据保护,为对象提供一个对外操作的接口,外界只能从对象所提供的操作接口来认识和操作该对象。一般说来,面向对象的系统至少需具备三大
10、特性:封装性、继承性、多态性。将封装、继承、多态(包括重载)等面向对象方法应用于程序的开发工具和开发过程中,不仅可以加快开发的速度,还可极大地增强程序的可维护性和可扩展性,提高代码重用率。因此,在面向对象编程过程中需要遵循这三项原则。下面对它们分别作简要介绍。2.2.继承性继承性 继承(Inheritance)是一个对象获得另一个对象的属性的过程。继承很重要,因为它支持了层级分类的思想。众所周知,大多数事物均可按层级(即从上到下、从高到低)分类管理。显然,如果不使用层级的概念,在进行描述时,我们就不得不分别定义每个事物的所有属性。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,
11、因为它可以从它的父类那里继承其他所有的通用属性。所以,完全可以这样说,正是继承机制使一个对象成为一个更具通用性的类的一个特定实例成为可能。继承是现实生活中一个非常容易理解的概念。在面向对象的程序设计方法中,引入继承机制的目的在于:其一,避免可公用代码的重复开发,减少数据冗余;其二,增强数据的一致性,尽量降低模块间的耦合程度。3多态性多态性 多态(Polymorphism)来自于希腊语,表示“多种形态”,即允许一个接口被多个同类动作所使用的特征,具体使用哪个动作与应用场合有关。所谓多态性就是当不同的对象收到相同的消息时,产生不同动作的特性。这里所说的消息可以理解为方法或事件。通俗地讲,多态性就是
12、使用一个名称来定义不同的方法,这些方法执行类似的但又不同的操作,即以相同的接口来访问功能不同的函数,从而实现“一个接口,多种方法”。Return4多态性、封装性与继承性的相互作用多态性、封装性与继承性的相互作用 如果使用得当,在由多态性、封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮、扩展性更好的程序。精心设计的类层级结构是实现代码可重用性的基础;封装可以使你在不破坏依赖于类公共接口的代码基础上对程序进行升级迁移;而多态性则有助于编写清晰、易懂、易读、易修改的程序。1.3 1.3 JavaJava语言的特点语言的特点1.3.1 1.3.1 语言特点概述语言特点概述1.3.2
13、 1.3.2 JavaJava语言的具体特点语言的具体特点1.3.3 1.3.3 JavaJava和和C/C+C/C+的比较的比较Return 作为当前一种被广泛使用的面向对象编程语言,Java具有多方面的特点。如果与其他众多的编程语言作一下比较,会发现这些特点正是Java语言之所以如此风靡的原因所在。虽然Java在某些方面(例如资源耗费)也存在一些不足,但这丝毫不影响Java作为目前最优秀面向对象编程语言的地位。1.3.1 1.3.1 语言特点概述语言特点概述1 1JavaJava的灵魂:字节码的灵魂:字节码 2Java的内涵:丰富的类库的内涵:丰富的类库 Return Java是一种被广泛
14、使用的网络编程语言,这是一种新的计算概念。网络环境下的编程语言最需要解决的是可移植性和安全性问题。以字节方式进行编码,使得程序不受运行平台和环境的限制成为可能。Java语言还提供了丰富的类库,使程序设计人员可以很方便地调用相关类建立起自己的系统。主要表现在:1.3.2 1.3.2 JavaJava语言的具体特点语言的具体特点1.1.简单性简单性2.2.面向对象面向对象3.3.分布性分布性4 4.鲁棒性鲁棒性5 5.可移植性可移植性Return Java作为一种高级程序设计语言,它除具有面向对象、编写简单、脱离机器结构、具有分布性、鲁棒性、可移植性、安全性特点外,并且提供了并发机制,解释执行具有
15、很高的性能。同时,还具有动态性特点。主要表现在:6.6.安全性安全性7 7.结构中立结构中立8 8.高性能高性能9.9.多线程多线程1010.动态性动态性1.3.3 1.3.3 JavaJava和和C/C+C/C+的比较的比较Return 对于变量声明、参数传递、操作符、流控制等,Java使用了和C/C+相同的风格,这使得熟悉C/C+的程序员能很方便地进行编程语言切换。同时,Java实现并加强了其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理的地方。主要表现在:1.1.头文件头文件2.2.全局变量全局变量3.3.指针指针4 4.内存管理内存管理5 5.数数据据类类型型支支持持6 6.类型
16、转换类型转换7 7.结构和联合结构和联合8.8.预处理预处理1.4 1.4 JavaJava程序的运行程序的运行1.4.1 1.4.1 JavaJava运行环境的安装与配置运行环境的安装与配置1.4.2 1.4.2 第一个第一个JavaJava程序程序1.4.3 1.4.3 两种类型的两种类型的JavaJava程序程序1.4.4 1.4.4 JavaJava环境的有关工具环境的有关工具1.4.5 1.4.5 JavaJava程序的编写开发工具程序的编写开发工具Return 由于Java是采用Java虚拟机进行解释执行的编程语言,它需要一定的软件支撑环境才能够运行起来。本节将先介绍Java的运行
17、环境,然后介绍Java程序的编写。1.4.1 1.4.1 JavaJava运行环境的安装与配置运行环境的安装与配置Return 编写并运行Java程序,需要Java开发工具包(JDK,Java Development Kit)的支持。因此在编写自己的第一个Java程序前,读者需要先在自己的机器上安装JDK。到目前为止,JDK的发展经历了JDK 1.0、JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4等几个版本。1.4.2 1.4.2 第一个第一个JavaJava程序程序 说明:保留字class来声明一个新的类,其类名为HelloWorldApp,它是一个公共类(public)。整
18、个类定义由大括号对括起来。在该类中,定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有一个公共类,main()方法也只能有一个,作为程序的入口。在main()方法定义中的,括号中的String args是传递给main()方法的参数,
19、参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用“类名参数名”来指定,多个参数间用逗号分隔。在main()方法的实现中,只有一条语句:System.out.println(Hello World!);它用来实现字符串的输出。“/”后的内容为注释。下面是一个经典的Java入门程序,虽然只有短短几行代码,但其中的内容却很丰富,后面将作具体说明:public class HelloWorldApppublic static void main(String args)/Output the first sentence:System.out.println(Hello
20、 World!);此程序的作用是输出下面一行信息:Hello World!Java程序的编译及运行Return 首先,将其保存到一个名为HelloWorldApp.java的文件中。注注意意:文件名应该与类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。然后,对它进行编译。C:JavaBookjavac HelloWorldApp.java 编译的结果是生成字节码文件HelloWorldApp.class。最后,使用java命令来运行该字节码文件。C:JavaBookjava HelloWorldApp 其结果就是在显示器上显示出“Hello World!”这行文字。1.4.3
21、1.4.3 两种类型的两种类型的JavaJava程序程序 在Java中可以编写两类程序:应用程序(applications)和Java Applet(小应用程序)。应用程序是可以在控制台上直接运行的程序,在创建应用程序时,Java与其他高级编程语言没有太大区别,而Java的特色就在于它具有编制小应用程序的功能。小应用程序是可以在Internet中传输并在兼容Java的Web浏览器中运行的应用程序。小应用程序实际上就是小型的Java程序,能像图像文件、声音文件和视频片段那样通过网络动态下载,它与其他文件的重要差别是,小应用程序是一个智能的程序,能对用户的输入作出反应,并且能动态变化,而不是一遍又
22、一遍地播放同一动画或声音。前面对applications作了介绍,下面我们来介绍一下Java Applet的结构和应用。Java Applet的结构和应用Returnimport java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet /This is an applet.public void paint(Graphics g)g.drawString(Hello World!,30,30);该程序的功能是:在坐标(30,30)处输出字符串“Hello World!”。在这个程序中,没有实现ma
23、in()方法,这是Applet与Application(应用程序)的区别之一。为了运行该程序,首先也应将其保存到一个名为HelloWorldApplet.java的文件中,然后对其进行编译:C:JavaBookjavac HelloWorldApplet.java这样将得到字节码文件HelloWorldApplet.class。由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,然后将Applet嵌入其中,接着使用appletviewer来运行,或在支持Java的浏览器上运行。该HTML文件如下。An Applet 其中,使用标记来启动HelloWorld
24、Applet,code属性指明字节码所在的文件,width和 height属 性 指 明 applet所 占 区 域 范 围。最 后,我 们 将 此 HTML文 件 存 入AppletExp.htm,然后运行:C:JavaBookappletviewer AppExp.htm此时,将弹出一个Applet浏览窗口,在其中指定区域显示“Hello World!”。下面再看一个例子下面再看一个例子1.4.4 1.4.4 JavaJava环境的有关工具环境的有关工具Return Java提供了一些常用的语言工具,主要包括:1、java:解释器 2、javac:编译器 3、appletviewer:小应
25、用程序浏览器 4、javah:头文件生成器 5、javadoc:API文档生成器 6、javap:类文件反汇编器 7、jdb:Java语言调试器 这些文件包括在/java/bin/目录中,并可以在任何目录中运行,前提是设置了运行程序的相应系统路径。1.4.5 1.4.5 JavaJava程序的编写开发工具程序的编写开发工具Return 最后将要说明一下Java程序的编写开发工具。对于一般简单程序的编写,几乎使用任何文本编辑器都可以进行。例如操作系统所带的记事本、写字板等程序。本书中所涉及的Java程序一般使用UltraEdit编写。UltraEdit是一个非常理想的Java程序编写器,它目前的最新版本是Version 10。如果要进行比较复杂的Java应用系统开发,可使用专门的Java集成开发工具,如JBuilder、Visual J+、Visual Age、JCreator等。其中优秀的开发工具支持与应用服务如BEA WebLogic、IBM WebSphere的集成。具体选用哪种开发工具要视项目的具体情况而定。