第1章29197Java程序设计电子教案-叶乃文.ppt

上传人:s****8 文档编号:67323817 上传时间:2022-12-24 格式:PPT 页数:34 大小:227KB
返回 下载 相关 举报
第1章29197Java程序设计电子教案-叶乃文.ppt_第1页
第1页 / 共34页
第1章29197Java程序设计电子教案-叶乃文.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《第1章29197Java程序设计电子教案-叶乃文.ppt》由会员分享,可在线阅读,更多相关《第1章29197Java程序设计电子教案-叶乃文.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1 1章章程序设计方法概论程序设计方法概论 1.1 程序设计概述 纵观计算机发展的历程,计算机硬件系纵观计算机发展的历程,计算机硬件系统是发展的基础,计算机软件系统是发统是发展的基础,计算机软件系统是发展的关键,计算机应用是发展的目标。展的关键,计算机应用是发展的目标。可以看到,在整个计算机发展领域中,可以看到,在整个计算机发展领域中,计算机软件系统起着承上启下的核心作计算机软件系统起着承上启下的核心作用,而计算机软件系统的发展关键在于用,而计算机软件系统的发展关键在于程序设计方法的研究与发展。程序设计方法的研究与发展。1.1 程序设计概述 软件是计算机的灵魂,而软件的开发方法软件是计算机

2、的灵魂,而软件的开发方法是主导这个灵魂的关键。几十年来,众多是主导这个灵魂的关键。几十年来,众多的专家、学者将毕生的研究方向定位于探的专家、学者将毕生的研究方向定位于探索软件开发方法的基础理论上,他们与战索软件开发方法的基础理论上,他们与战斗在软件开发领域最前沿的软件精英们共斗在软件开发领域最前沿的软件精英们共同携手,将理论与实践结合在一起,提出同携手,将理论与实践结合在一起,提出了各种有效的软件开发方法,使软件开发了各种有效的软件开发方法,使软件开发行业历经磨难,终于步入了科学化、工程行业历经磨难,终于步入了科学化、工程化和规范化的良性发展阶段。化和规范化的良性发展阶段。一个规范的软件开发过

3、程需要经历系统一个规范的软件开发过程需要经历系统分析、系统设计、编码、测试和维护几分析、系统设计、编码、测试和维护几个阶段。软件开发方法是指导软件开发个阶段。软件开发方法是指导软件开发各个阶段工作的理论和方法,它决定了各个阶段工作的理论和方法,它决定了审视问题域的角度、各个开发阶段的工审视问题域的角度、各个开发阶段的工作任务以及最终软件系统的构成方式。作任务以及最终软件系统的构成方式。其中,编码阶段的主要任务是按照系统其中,编码阶段的主要任务是按照系统设计的要求编制最终的程序代码,即程设计的要求编制最终的程序代码,即程序设计。它是软件开发过程的一个重要序设计。它是软件开发过程的一个重要阶段,是

4、软件系统的具体实现。阶段,是软件系统的具体实现。程序设计程序设计是指设计、编制和调试程是指设计、编制和调试程序的方法和过程。由于程序是应用序的方法和过程。由于程序是应用系统的本体,是软件质量的具体体系统的本体,是软件质量的具体体现,因此,研究程序设计中涉及到现,因此,研究程序设计中涉及到的基本概念、描述工具和所采用的的基本概念、描述工具和所采用的方法就显得格外重要。方法就显得格外重要。基本概念基本概念主要包括程序、数据、子程序、主要包括程序、数据、子程序、模块,以及顺序性、并发性、并行性和模块,以及顺序性、并发性、并行性和分布性等,其中程序是程序设计中的核分布性等,其中程序是程序设计中的核心,

5、子程序是为了便于程序设计而建立心,子程序是为了便于程序设计而建立的程序基本单位,也是模块的具体体现,的程序基本单位,也是模块的具体体现,而顺序性、并发性、并行性和分布性则而顺序性、并发性、并行性和分布性则反映了程序的内在特性。反映了程序的内在特性。描述工具描述工具主要是指编写程序的语言和为主要是指编写程序的语言和为了便于调试程序而提供的各种语言开发了便于调试程序而提供的各种语言开发环境。从某种意义上讲,它们决定了应环境。从某种意义上讲,它们决定了应用系统的最终功效,直接影响着软件产用系统的最终功效,直接影响着软件产品的可靠性、易读性、易维护性以及开品的可靠性、易读性、易维护性以及开发效率。发效

6、率。程序设计方法是指导程序设计工作的思程序设计方法是指导程序设计工作的思想方法,它主要包括程序设计的原理和想方法,它主要包括程序设计的原理和所应遵循的基本原则,帮助人们从不同所应遵循的基本原则,帮助人们从不同的角度描述问题域。选用合适的程序设的角度描述问题域。选用合适的程序设计方法,对于开发满足用户需求的高质计方法,对于开发满足用户需求的高质量应用软件至关重要。量应用软件至关重要。1.2 程序设计方法 在程序设计过程中,选择一种良好的程在程序设计过程中,选择一种良好的程序设计方法将有助于提高程序设计的效序设计方法将有助于提高程序设计的效率、保证程序的可靠性、增强程序的可率、保证程序的可靠性、增

7、强程序的可扩充性、改进程序的可维护性。时至今扩充性、改进程序的可维护性。时至今日,用于指导程序设计的方法已有许多日,用于指导程序设计的方法已有许多种类,它们各自有各自的特点,其中结种类,它们各自有各自的特点,其中结构化和面向对象是两种发展最为成熟、构化和面向对象是两种发展最为成熟、应用最为广泛的程序设计方法。应用最为广泛的程序设计方法。1.2.1 1.2.1 结构化程序设计方法结构化程序设计方法 结构化程序设计方法结构化程序设计方法是在软件产业严重是在软件产业严重危机,亟待需要工程化的背景下产生。危机,亟待需要工程化的背景下产生。随着人们对软件工程化的认识日益形成,随着人们对软件工程化的认识日

8、益形成,逐渐越来越重视程序的结构化、可读性,逐渐越来越重视程序的结构化、可读性,按照结构化程序设计方法设计程序逐渐按照结构化程序设计方法设计程序逐渐成为广大编程人员自觉、自愿的行为,成为广大编程人员自觉、自愿的行为,编写出结构化强、可读性好的程序迅速编写出结构化强、可读性好的程序迅速变为软件开发行业的时尚。变为软件开发行业的时尚。结构化程序设计主要特征结构化程序设计主要特征自顶向下,逐步求精自顶向下,逐步求精模块化模块化语句结构化语句结构化自顶向下、逐步求精自顶向下、逐步求精 即将编写程序看成是一个逐步演化即将编写程序看成是一个逐步演化的过程。所谓自顶向下是指将分析的过程。所谓自顶向下是指将分

9、析问题的过程划分成若干个层次,每问题的过程划分成若干个层次,每一个新的层次都是上一个层次的细一个新的层次都是上一个层次的细化,即步步深入,逐层细分。化,即步步深入,逐层细分。模块化模块化 即将整个系统分解成若干个模块,每个即将整个系统分解成若干个模块,每个模块实现特定的功能,最终的系统将由模块实现特定的功能,最终的系统将由这些模块组装而成。模块之间通过接口这些模块组装而成。模块之间通过接口传递信息,力求模块具有良好独立性。传递信息,力求模块具有良好独立性。实际上,往往可以将模块看作是对欲解实际上,往往可以将模块看作是对欲解决的应用系统实施自顶向下、逐步求精决的应用系统实施自顶向下、逐步求精后形

10、成的各子系统的具体实现。后形成的各子系统的具体实现。语句结构化语句结构化 支持结构化程序设计方法的语言都应该支持结构化程序设计方法的语言都应该提供过程实现模块概念。结构化程序设提供过程实现模块概念。结构化程序设计要求,在每一个模块中只允许出现三计要求,在每一个模块中只允许出现三种流程结构的语句,它们是顺序、分支种流程结构的语句,它们是顺序、分支和循环。如图和循环。如图1-11-1所示,这三种流程结构所示,这三种流程结构的语句有一个共同的特点,即每种语句的语句有一个共同的特点,即每种语句只有一个入口,一个出口,这对于保证只有一个入口,一个出口,这对于保证程序的良好结构、检验程序的正确性十程序的良

11、好结构、检验程序的正确性十分重要。分重要。PASCAL与与C语言是支持结构化程序设计语言是支持结构化程序设计的典型代表。它们以过程或函数作为程的典型代表。它们以过程或函数作为程序的基本单元,在每一个过程中仅使用序的基本单元,在每一个过程中仅使用顺序、分支和循环结构三种流程结构的顺序、分支和循环结构三种流程结构的语句,因此,又将这类程序设计语言称语句,因此,又将这类程序设计语言称为过程式语言,用过程式语言编写的程为过程式语言,用过程式语言编写的程序其主要特征可以用下列公式形象地表序其主要特征可以用下列公式形象地表达出来。达出来。程序程序=过程过程+过程调用过程调用 采用结构化程序设计方法,可以提

12、高编采用结构化程序设计方法,可以提高编写程序的效率及质量。自顶向下、逐步写程序的效率及质量。自顶向下、逐步求精有利于在每一个抽象级别上尽可能求精有利于在每一个抽象级别上尽可能地保证设计过程的正确性及最终程序的地保证设计过程的正确性及最终程序的正确性。规范模块组装的策略及限定模正确性。规范模块组装的策略及限定模块中只允许出现三种流程结构的语句,块中只允许出现三种流程结构的语句,可以使得程序具有良好的结构,改善程可以使得程序具有良好的结构,改善程序的可读性、可理解性和可维护性。序的可读性、可理解性和可维护性。l利用结构化程序设计方法实现程序设计利用结构化程序设计方法实现程序设计需要经过两个基本过程

13、:分解和组装。需要经过两个基本过程:分解和组装。l所谓分解是指通过对初始问题域的详细所谓分解是指通过对初始问题域的详细分析,不断地将其进行模块分解,每分分析,不断地将其进行模块分解,每分解一次都是对问题的进一步细化。模块解一次都是对问题的进一步细化。模块是求解问题域的一种描述。是求解问题域的一种描述。例如,设计一个程序,将从键盘上输入的例如,设计一个程序,将从键盘上输入的100100个整数重新按从小到大的顺序排序,并个整数重新按从小到大的顺序排序,并输出重新排序后的结果。输出重新排序后的结果。分解成三个子模块:输入、排序和输出分解成三个子模块:输入、排序和输出1.2.2 1.2.2 面向对象的

14、程序设计方法面向对象的程序设计方法 利用结构化程序设计方法求解问题的基利用结构化程序设计方法求解问题的基本策略是从功能的角度审视问题域。它本策略是从功能的角度审视问题域。它将应用程序看成是一个能够完成某项特将应用程序看成是一个能够完成某项特定任务的功能模块,其中的每个子过程定任务的功能模块,其中的每个子过程是实现某项具体操作的底层功能模块。是实现某项具体操作的底层功能模块。在每个功能模块中,用数据结构描述待在每个功能模块中,用数据结构描述待处理数据的组织形式,用算法描述具体处理数据的组织形式,用算法描述具体的操作过程。的操作过程。面对日趋复杂的应用系统,需要下面对日趋复杂的应用系统,需要下列改

15、进:列改进:l将利用计算机解决问题的基本方法统一将利用计算机解决问题的基本方法统一到人类解决问题的习惯方法上,彻底改到人类解决问题的习惯方法上,彻底改变软件设计方法与人类解决问题的常规变软件设计方法与人类解决问题的常规方式扭曲的现象迫在眉睫。方式扭曲的现象迫在眉睫。l将过程抽象改进为数据抽象,它是较过将过程抽象改进为数据抽象,它是较过程抽象更高级别的抽象方式,它将描述程抽象更高级别的抽象方式,它将描述客观事物的属性与行为绑定在一起,从客观事物的属性与行为绑定在一起,从而达到对现实世界实体的真正模拟而达到对现实世界实体的真正模拟 l封装是指将现实世界中存在的某个客观事封装是指将现实世界中存在的某

16、个客观事物的属性与行为绑定在一起,并放在一个物的属性与行为绑定在一起,并放在一个逻辑单元中。这个逻辑单元负责将所描述逻辑单元中。这个逻辑单元负责将所描述的客观事物的属性隐藏起来,外界对客观的客观事物的属性隐藏起来,外界对客观事物内部属性的访问通过提供的用户接口事物内部属性的访问通过提供的用户接口实现。实现。l结构化程序设计方法的基本单元是模块,结构化程序设计方法的基本单元是模块,每个模块只是实现特定功能的过程描述,每个模块只是实现特定功能的过程描述,因此,它的可重用单位只能是模块,对于因此,它的可重用单位只能是模块,对于今天的软件开发来说,这样的重用粒度显今天的软件开发来说,这样的重用粒度显得

17、微不足道。得微不足道。面向对象程序设计面向对象程序设计l面向对象程序设计方法是指用面向对象面向对象程序设计方法是指用面向对象的方法指导程序设计的整个过程,所谓的方法指导程序设计的整个过程,所谓面向对象是指以对象为中心,分析、设面向对象是指以对象为中心,分析、设计及构造应用程序的机制。计及构造应用程序的机制。l面向对象程序设计方法应该包含对象、面向对象程序设计方法应该包含对象、类、继承、消息、通信等概念,并可以类、继承、消息、通信等概念,并可以用下列公式形象地描述出来。用下列公式形象地描述出来。面向对象面向对象=类类+对象对象+继承继承+消息消息+通信通信面向对象优点面向对象优点l能够实现对现实

18、世界客观事物能够实现对现实世界客观事物的自然描述的自然描述 l可控制程序的复杂性可控制程序的复杂性 l可增强程序的模块性可增强程序的模块性 l可提高程序的重用性可提高程序的重用性 l可改善程序的可维护性可改善程序的可维护性 l可适应新型的硬件环境可适应新型的硬件环境 1.3 程序设计语言 程序设计语言是用于书写计算机程序的语程序设计语言是用于书写计算机程序的语言。自从计算机诞生以来,程序设计语言言。自从计算机诞生以来,程序设计语言的发展一直伴随着整个计算机事业的成长,的发展一直伴随着整个计算机事业的成长,影响着计算机应用领域的不断扩展。影响着计算机应用领域的不断扩展。程序设计语言通常可以分为程

19、序设计语言通常可以分为4 4个类别:个类别:命命令式语言令式语言、函数式语言函数式语言、逻辑式语言逻辑式语言,以,以及及面向对象的语言面向对象的语言。l命令式语言命令式语言是指通过给出一系列可执行的运算是指通过给出一系列可执行的运算与运算次序来描述计算过程的语言。与运算次序来描述计算过程的语言。l函数式语言函数式语言将函数作为构成程序的基本成分,将函数作为构成程序的基本成分,并提供一些技术手段用于构造复杂的函数。并提供一些技术手段用于构造复杂的函数。l逻辑式语言逻辑式语言是一种基于规则的程序设计语言。是一种基于规则的程序设计语言。在命令式语言中,必须对每个算法的实施过程在命令式语言中,必须对每

20、个算法的实施过程给予详细地描述,其中包括需要执行的命令及给予详细地描述,其中包括需要执行的命令及执行顺序,而基于规则的程序设计语言并不需执行顺序,而基于规则的程序设计语言并不需要给出顺序,语言的实现系统将会选择一种执要给出顺序,语言的实现系统将会选择一种执行顺序,以达到预期的结果行顺序,以达到预期的结果 l面向对象程序设计语言面向对象程序设计语言(OOPLOOPL)是指提)是指提供描述面向对象方法所涉及到的类、对供描述面向对象方法所涉及到的类、对象、继承和多态等基本概念的程序设计象、继承和多态等基本概念的程序设计语言。它应该具有下列特征:识别性、语言。它应该具有下列特征:识别性、分类性、继承性

21、和多态性。分类性、继承性和多态性。基本特征基本特征l识别性识别性。指应用程序中的基本构件可以被认为。指应用程序中的基本构件可以被认为是一组可识别的离散对象。是一组可识别的离散对象。l分类性分类性。指将应用程序中具有相同属性与行为。指将应用程序中具有相同属性与行为的所有对象组成一个类。的所有对象组成一个类。l继承性继承性。指在已有类的基础上,定义其子类。指在已有类的基础上,定义其子类。在子类中,除了拥有从父类继承的内容外,还在子类中,除了拥有从父类继承的内容外,还可以通过自定义一些属性或操作,扩展或覆盖可以通过自定义一些属性或操作,扩展或覆盖父类的内容。父类的内容。l多多态性态性。指同一个消息发

22、送给不同的类对象,。指同一个消息发送给不同的类对象,做出的响应可能不同,这种现象就是多态性。做出的响应可能不同,这种现象就是多态性。几种有代表性的几种有代表性的OOPLOOPLnSimula67Simula67,支持单继承、一定含义上的多态和,支持单继承、一定含义上的多态和部分动态联编。部分动态联编。nSmalltalkSmalltalk,支持单继承、多态和动态联编。,支持单继承、多态和动态联编。nEiffelEiffel,支持多继承、多态和动态联编。,支持多继承、多态和动态联编。nC+C+,支持多继承、多态和部分动态联编。,支持多继承、多态和部分动态联编。nJavaJava,提供了类机制,以

23、及有效的接口模型。,提供了类机制,以及有效的接口模型。支持单继承、多态和动态联编。支持单继承、多态和动态联编。1.4 Java程序设计语言 JavaJava程序设计语言是一种完全的面向对程序设计语言是一种完全的面向对象程序设计语言。自从象程序设计语言。自从19951995年年JavaJava语言语言正式发布以来,经历了坎坷的发展历程,正式发布以来,经历了坎坷的发展历程,但由于但由于JavaJava语言的设计者们拥有必胜的语言的设计者们拥有必胜的信念,并紧紧抓住每个推广信念,并紧紧抓住每个推广 JavaJava语言使语言使用的机会,利用前瞻的设计理念,逐步用的机会,利用前瞻的设计理念,逐步赢得了

24、广泛的市场,成为当今软件设计赢得了广泛的市场,成为当今软件设计的主流语言。的主流语言。1.4.1 Java1.4.1 Java程序设计语言的发展历程程序设计语言的发展历程19951995年年5 5月月SunSun公司在公司在SunWorld95SunWorld95大会上大会上发布了发布了JavaJava和和HotJavaHotJava浏览器。浏览器。19951995年年9 9月月SunSun公司宣布将提供公司宣布将提供JavaJava开发开发工具。工具。19951995年年1212月月SunSun公司与公司与NetscapeNetscape共同发布共同发布JavaScriptJavaScrip

25、t,这是一种基于,这是一种基于JaavaJaava语言的语言的脚本语言。脚本语言。19961996年年1 1月月SunSun公司推出公司推出JavaJava开发工具包开发工具包JDKJDK(Java Development KitJava Development Kit)1.01.0,为,为广大的开发人员提供了用来运行广大的开发人员提供了用来运行JavaJava应应用软件的开发环境。用软件的开发环境。19961996年年2 2月月SunSun公司推出了公司推出了JavaJava数据库连接数据库连接JDBCJDBC数据库数据库APIAPI。19961996年年1010月月SunSun公司颁布公司

26、颁布JavaBeansJavaBeans规范,并发规范,并发布了首个布了首个Java JITJava JIT(Just-In-TimeJust-In-Time)编译器。)编译器。19961996年年1212月月SunSun公司发布了公司发布了JDK1.1JDK1.1、JavaJava商贸商贸工具包、工具包、JavaBeansJavaBeans开发包及开发包及Java APIJava API。19971997年年3 3月月SunSun公司推出公司推出JDK1.1.1JDK1.1.1。19971997年年5 5月月SunSun公司推出公司推出JDK1.1.2JDK1.1.2。19971997年年7

27、 7月月SunSun公司推出公司推出JDK1.1.3JDK1.1.3。19981998年年1212月月SunSun公司发布公司发布Java 2Java 2平台,它是平台,它是JavaJava发展史的一个里程碑。发展史的一个里程碑。19991999年年6 6月月SunSun公司定义了公司定义了JavaJava技术的框架,形技术的框架,形成了今天人们看到的三个版本。成了今天人们看到的三个版本。1.4.2 Java1.4.2 Java程序设计语言的基本特征程序设计语言的基本特征1 1简捷性简捷性2 2面向对象面向对象3 3分布式分布式4 4健壮性健壮性5 5结构中立结构中立6 6安全性安全性7 7可移植性可移植性8 8解释执行解释执行9 9高性能高性能1010多线程多线程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁