Java语言程序的设计实验指导第01章_第1页
Java语言程序的设计实验指导第01章_第2页
Java语言程序的设计实验指导第01章_第3页
Java语言程序的设计实验指导第01章_第4页
Java语言程序的设计实验指导第01章_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.1 Java1.1 Java语言的起源和发展语言的起源和发展1.2 1.2 面向对象的程序设计面向对象的程序设计1.3 Java1.3 Java语言的特点语言的特点1.4 Java1.4 Java程序的运行程序的运行Return1.1.1 1.1.1 几种典型语言的发展历程几种典型语言的发展历程1.1.2 Java1.1.2 Java语言的起源语言的起源1.1.3 Java1.1.3 Java语言的发展语言的发展Return 一般认为,B语言导致了C语言的诞生、C语言演变出C+语言,而Java语言则明显带有C+语言的特征。本节将对Java语言的起源和发展作简要介绍。 Return Java

2、总是和C+联系在一起,而C+则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象特性都受到C+的影响。事实上,Java中几个自定义的特性都来自于或可以追溯到它的这些前驱语言。略有不同的是,Java语言完全面向对象,从而摒弃了二者的不足之处。Java语言的诞生与过去约30年中计算机语言的不断改进和发展密切相关。基于这些原因,下面我们将简要介绍一下这个发展历程。1 1现代编程语言的诞生:现代编程语言的诞生:C C语言语言 2 2对编程方法的新需要:对编程方法的新需要:C+C+语言语言3 3时机的到来:时机的到来:JavaJava语言

3、的出现语言的出现Return Java是由James Gosling、Patrick Naughton、Chris Warth、Ed Frank以及Mike Sheridan等人于1991年在Sun Microsystems公司设计出来的,开发第一个版本花了18个月时间。该语言最初名叫“Oak”,后来发现“Oak已经是Sun公司另外一种语言的注册商标,于2019年更名为“Java”,即太平洋上一个盛产咖啡的岛屿的名字。从1992 的秋天Oak问世,到2019春天公开发布Java语言,许多人都对Java的设计和改进做出了贡献。 Return 自从于2019年被正式推出之后,Java语言就以其独特

4、的优势迅猛发展,经过短短8、9年时间,成为迄今为止最为优秀的面向对象语言。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 1.2.1 面向对象技术的提出面向对象技术的提出1.2.2 1.2.2 面向对象的编程思想面向对象的编程思想1.2.3 1.2.3

5、面向对象编程的基本原则面向对象编程的基本原则Return 面向对象的编程思想由来已久,但真正意义上的纯面向对象编程语言目前只有Java。本节将结合几种高级语言对面向对象程序设计思想进行简要介绍。 Return 我们知道,所有的计算机程序均由两类元素组成:代码和数据。如何实现这两类元素的有效结合而形成可运行的程序,是多年来程序设计人员所探索的问题。最初,程序的构筑一般围绕“正在发生什么而编写代码,这种方法被称为面向过程的编程。使用这种方法编写的程序都具有线性执行的特点。面向过程的编程模型可认为是代码作用于数据,像Pascal、C这样的过程式语言采用此模型是相当成功的。然而,使用面向过程的方法对小

6、程序的编写可能是比较有效的,但当程序变得非常大且更为复杂时,就会出现种种问题,直至失去对代码的有效控制。由此对软件工程中的编程方法问题提出了新的要求。 为了管理不断增加的复杂性,另外一种编程方式被提了出来,即面向对象的编程OOP,Object-Oriented Programming)。这种编程方式围绕“谁将受到影响进展,即以代码的相关数据为核心点进行程序编写。面向对象的编程着眼于它的数据即对象和为此数据严格定义的接口来组织程序,程序实际上是用数据控制对代码的访问。这种方式的最大特点是代码与其相关数据被分离开来进行处理,有利于程序规模的扩大,而程序的可维护性得到增强。 Return 前面提到的

7、面向过程程序,它遵循面向过程的问题求解方法,其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决流程。数据结构和算法是面向过程问题求解的核心所在。而面向对象技术则代表了一种全新的程序设计思路,其观察、表述、处理问题的方法,与传统的面向过程的编程方法不同。面向对象的程序设计和问题求解力求符合人们日常自然的思维习惯,尽量分解、降低问题的难度和复杂性,从而提高整个求解过程的可监测性、可控制性和可维护性,以此达到以较小代价和较高效率获得较满意效果之目的。 面向对象编程一个实质性的要素是抽象。 1 1封装性封装性 封装封装EncapsulationEncapsulation是将代码及

8、其处理的数据绑定在一是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。一个对象的基本要素包括属性和作用在属性上的操作不被误用。一个对象的基本要素包括属性和作用在属性上的操作方法或事件)。对象的使用实现了数据抽象,它将一组数据和方法或事件)。对象的使用实现了数据抽象,它将一组数据和对这组数据的操作结合成一个内在的整体,不允许外界对这组数对这组数据的操作结合成一个内在的整体,不允许外界对这组数据任意进行访问,这里就用到了封装的原理。封装的目的是为了据任意进行访问,这里就用到了封装的原理。封装的目的

9、是为了实现数据隐藏和数据保护,为对象提供一个对外操作的接口,外实现数据隐藏和数据保护,为对象提供一个对外操作的接口,外界只能从对象所提供的操作接口来认识和操作该对象。界只能从对象所提供的操作接口来认识和操作该对象。 一般说来,面向对象的系统至少需具备三大特性:封装性、继承性、多态性。将封装、继承、多态包括重载等面向对象方法应用于程序的开发工具和开发过程中,不仅可以加快开发的速度,还可极大地增强程序的可维护性和可扩展性,提高代码重用率。因而,在面向对象编程过程中需要遵循这三项原则。下面对它们分别作简要介绍。 继承Inheritance是一个对象获得另一个对象的属性的过程。继承很重要,因为它支持了

10、层级分类的思想。众所周知,大多数事物均可按层级即从上到下、从高到低分类管理。显然,如果不使用层级的概念,在进行描述时,我们就不得不分别定义每个事物的所有属性。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,因为它可以从它的父类那里继承其他所有的通用属性。所以,完全可以这样说,正是继承机制使一个对象成为一个更具通用性的类的一个特定实例成为可能。继承是现实生活中一个非常容易理解的概念。在面向对象的程序设计方法中,引入继承机制的目的在于:其一,避免可公用代码的重复开发, 减少数据冗余;其二,增强数据的一致性,尽量降低模块间的耦合程度。 多态Polymorphism来自于希腊语,表示“

11、多种形态”,即允许一个接口被多个同类动作所使用的特征,具体使用哪个动作与应用场合有关。所谓多态性就是当不同的对象收到相同的消息时,产生不同动作的特性。这里所说的消息可以理解为方法或事件。通俗地讲,多态性就是使用一个名称来定义不同的方法,这些方法执行类似的但又不同的操作,即以相同的接口来访问功能不同的函数,从而实现“一个接口,多种方法”。 Return4多态性、封装性与继承性的相互作用多态性、封装性与继承性的相互作用 如果使用得当,在由多态性、封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮、扩展性更好的程序。精心设计的类层级结构是实现代码可重用性的基础;封装可以使你在不破坏依

12、赖于类公共接口的代码基础上对程序进行升级迁移;而多态性则有助于编写清晰、易懂、易读、易修改的程序。 1.3.1 1.3.1 语言特点概述语言特点概述1.3.2 Java1.3.2 Java语言的具体特点语言的具体特点1.3.3 Java1.3.3 Java和和C/C+C/C+的比较的比较Return 作为当前一种被广泛使用的面向对象编程语言,Java具有多方面的特点。如果与其他众多的编程语言作一下比较,会发现这些特点正是Java语言之所以如此风靡的原因所在。虽然Java在某些方面例如资源耗费也存在一些不足,但这丝毫不影响Java作为目前最优秀面向对象编程语言的地位。 1 1JavaJava的灵

13、魂:字节码的灵魂:字节码 2 2JavaJava的内涵:丰富的类库的内涵:丰富的类库 Return Java是一种被广泛使用的网络编程语言,这是一种新的计算概念。网络环境下的编程语言最需要解决的是可移植性和安全性问题。以字节方式进行编码,使得程序不受运行平台和环境的限制成为可能。Java语言还提供了丰富的类库,使程序设计人员可以很方便地调用相关类建立起自己的系统。主要表现在: 1.1.简单性简单性2.2.面向对象面向对象3.3.分布性分布性4.4.鲁棒性鲁棒性5.5.可移植性可移植性Return Java作为一种高级程序设计语言,它除具有面向对象、编写简单、脱离机器结构、具有分布性、鲁棒性、可

14、移植性、安全性特点外,并且提供了并发机制,解释执行具有很高的性能。同时,还具有动态性特点。主要表现在: 6.6.安全性安全性7.7.结构中立结构中立8.8.高性能高性能9.9.多线程多线程10.10.动态性动态性Return 对于变量声明、参数传递、操作符、流控制等,Java使用了和C/C+相同的风格,这使得熟悉C/C+的程序员能很方便地进行编程语言切换。同时,Java实现并加强了其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理的地方。主要表现在:1.1.头文件头文件2.2.全局变量全局变量3.3.指针指针4.4.内存管理内存管理5.5.数据类型支持数据类型支持6.6.类型转换类型转换7

15、.7.结构和联合结构和联合8.8.预处理预处理1.4.1 Java1.4.1 Java运行环境的安装与配置运行环境的安装与配置1.4.2 1.4.2 第一个第一个JavaJava程序程序1.4.3 1.4.3 两种类型的两种类型的JavaJava程序程序1.4.4 Java1.4.4 Java环境的有关工具环境的有关工具1.4.5 Java1.4.5 Java程序的编写开发工具程序的编写开发工具Return 由于Java是采用Java虚拟机进行解释执行的编程语言,它需要一定的软件支撑环境才能够运行起来。本节将先介绍Java的运行环境,然后介绍Java程序的编写。 Return 编写并运行Jav

16、a程序,需要Java开发工具包JDK,Java Development Kit的支持。因此在编写自己的第一个Java程序前,读者需要先在自己的机器上安装JDK。到目前为止,JDK的发展经历了JDK 1.0、JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4等几个版本。 说明:保留字class来声明一个新的类,其类名为HelloWorldApp,它是一个公共类public)。整个类定义由大括号对括起来。在该类中,定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main(

17、)方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有一个公共类,main()方法也只能有一个,作为程序的入口。在main()方法定义中的,括号中的String args是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用“类名参数名来指定,多个参数间用逗号分隔。在main()方法的实现中,只有一条语句: System.out.println(Hel

18、lo World!); 它用来实现字符串的输出。“/”后的内容为注释。 下面是一个经典的Java入门程序,虽然只有短短几行代码,但其中的内容却很丰富,后面将作具体说明:public class HelloWorldApppublic static void main (String args) / Output the first sentence: System.out.println(Hello World!); 此程序的作用是输出下面一行信息: Hello World!Return 首先,将其保存到一个名为HelloWorldApp.java的文件中。注意:文件名应该与类名相同,因为Ja

19、va解释器要求公共类必须放在与其同名的文件中。然后,对它进行编译。 C:JavaBookjavac HelloWorldApp.java 编译的结果是生成字节码文件HelloWorldApp.class。最后,使用java命令来运行该字节码文件。 C:JavaBookjava HelloWorldApp 其结果就是在显示器上显示出“Hello World!”这行文字。 在Java中可以编写两类程序:应用程序applications和Java Applet小应用程序)。应用程序是可以在控制台上直接运行的程序,在创建应用程序时,Java与其他高级编程语言没有太大区别,而Java的特色就在于它具有编

20、制小应用程序的功能。小应用程序是可以在Internet中传输并在兼容Java的Web浏览器中运行的应用程序。小应用程序实际上就是小型的Java程序,能像图像文件、声音文件和视频片段那样通过网络动态下载,它与其他文件的重要差别是,小应用程序是一个智能的程序,能对用户的输入作出反应,并且能动态变化,而不是一遍又一遍地播放同一动画或声音。 前面对applications作了介绍,下面我们来介绍一下Java Applet的结构和应用。Returnimport java.awt.*;import java.applet.*;public class HelloWorldApplet extends Ap

21、plet / This is an applet.public void paint(Graphics g) g.drawString(Hello World!, 30, 30); 该程序的功能是:在坐标30,30处输出字符串“Hello World!”。 在这个程序中,没有实现main()方法,这是Applet与Application应用程序的区别之一。为了运行该程序,首先也应将其保存到一个名为HelloWorldApplet.java的文件中,然后对其进行编译:C:JavaBookjavac HelloWorldApplet.java这样将得到字节码文件HelloWorldApplet.class。由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,然后将Applet嵌入其中,接着使用appletviewer来运行,或在支持Java的浏览器上运行。 该HTML文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论