数据结构 Java语言版 教学课件 ppt 王学军 第二章

上传人:E**** 文档编号:89410207 上传时间:2019-05-24 格式:PPT 页数:75 大小:2.79MB
返回 下载 相关 举报
数据结构 Java语言版  教学课件 ppt 王学军 第二章_第1页
第1页 / 共75页
数据结构 Java语言版  教学课件 ppt 王学军 第二章_第2页
第2页 / 共75页
数据结构 Java语言版  教学课件 ppt 王学军 第二章_第3页
第3页 / 共75页
数据结构 Java语言版  教学课件 ppt 王学军 第二章_第4页
第4页 / 共75页
数据结构 Java语言版  教学课件 ppt 王学军 第二章_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《数据结构 Java语言版 教学课件 ppt 王学军 第二章》由会员分享,可在线阅读,更多相关《数据结构 Java语言版 教学课件 ppt 王学军 第二章(75页珍藏版)》请在金锄头文库上搜索。

1、数据结构(Java语言版),人民邮电出版社,第2章 Java语言基本知识,主编:王学军,【知识要点】 面向对象程序设计思想; Java语言基础知识; Java程序的设计、编辑、编译和运行; Java的“指针”实现。,实例引入,【学习任务】 通过实例分析,了解Java语言和C语言描述算法的区别,重点理解面向对象程序设计语言描述数据结构的直观性。 【例2.1】人事信息管理系统 某企业建设人事信息管理系统,其中某个数据库中各字段设置包括:姓名、性别、年龄等信息,对其操作的方法有插入、显示等。,若用C语言实现,表示如下: struct testman char name; char sex; int

2、age; ; 用C面向过程的程序设计语言实现插入和显示等操作时,都需要单独自定义函数来完成。,若用Java实现,表示如下: pubic class Testman String name; String sex; int age; /设置插入方法 public void Insert(String name, String sex, int age) /显示方法 public void display(String name, int age) 用Java面向对象程序设计语言实现算法时,将数据成员和对成员操作的方法都封装在类中,其表现形式和数据结构的抽象数据类型的定义形式是一致,因此Java语

3、言更有利于实现数据结构中逻辑结构、存储结构以及算法的实现。,Java语言概述,【学习任务】了解Java语言的简单发展及特点,重点了解其面向对象程序设计的特点。 Java是Sun Microsystems公司的James Gosling领导的开发组开发的。自Java语言问世以来,Java语言以其面向对象、简单高效、与平台无关、支持多线程、具有安全性和健壮性等特点,已成为目前最有吸引力且发展趋势迅猛的计算机高级程序设计语言之一。还有其丰富的API文档和包罗万象类库,可广泛用于面向对象的事件描述、处理和综合应用等面向对象的开发。实际上,Java是程序设计平台,是开发环境,又是应用环境。所以,Java

4、语言的基本概念可以表示为: Java语言=面向对象的程序设计语言+与机器无关的二进制格式的类文件 +Java虚拟机+完整的软件程序包,面向对象程序设计简述,【学习任务】掌握面向对象程序设计的基本概念及其基本特征,注意理解面向对象程序设计语言描述的数据结构。 在结构化程序设计中,数据的描述用数据类型表示,对数据的操作用过程或函数表示。例如,在描述栈时,先定义栈的数据类型,再用过程实现对栈的操作,这种方式是可行的,但不符合面向对象的程序设计思想。因为对数据的描述和对数据的操作两者是分离的,这将导致程序的重用性差、可移植性差、数据维护困难等缺点。在数据结构的理论中,数据的逻辑结构、存储结构和对数据的

5、操作三者是一体的,是相互依存的,所以用面向对象程序设计的特性,即封装、继承和多态等特性能够更深入的描述和刻画数据结构。,1面向对象程序设计的基本概念 面向对象的设计(Object Oriented Programming,简称OOP)思想是在原来结构化程序方法基础上的一个质的飞跃,是一种新的程序设计理念,是软件开发的一种方法,其本质是把数据和处理数据的过程当成一个整体对象。,面向对象程序设计的基本概念,1.1对象(Object) 从概念上讲,对象代表着正在创建的系统中的一个实体。在日常生活中,对象是认识世界的基本单元,对象是现实世界中的一个实体,整个世界就是由各种各样的对象构成的。在面向对象概

6、念中,描述对象的状态和性质称为属性,用数据来描述;描述对象的行为及其操作称为方法。所以,程序中的对象是数据和方法的一个封装体,是程序运行时的基本实体。可用公式表示成: 对象=数据+方法(作用于这些数据上的操作),面向对象程序设计的基本概念,1.2类(class) 类是对象的模板,是对一组具有共同的属性特征和行为特征的对象的抽象。抽象是一种从一般的观点看待事物的方法,它要求集中于事物的本质特征,而非具体细节或具体实现。因此,类和对象之间的关系是抽象和具体的关系。即对象的抽象是类,类的具体化就是对象。类也具有属性,它是对象状态的抽象,用数据结构来描述;类也具有方法,它是对象行为的抽象,用方法名和方

7、法体来描述。,面向对象程序设计的基本概念,1.3消息(message)和方法(method) 对象之间进行通信的结构叫做消息。对象是通过传送消息给其他对象来达到交互和沟通的。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。,面向对象程序设计的基本概念,类中操作的实现过程叫做方法,一个方法具有方法名、参数、方法体。消息传递如图所示。,2面向对象程序设计的基本特征 面向对象程序设计三大基本特征是:封装、继承和多态 面向对象封装是把表示属性的数据和对数据的操作包装成一个对象类型,使得对数据的存取只能通过封装提供的接口进行 继承是类与类之间存在的一种关系,它使程序员可

8、在已有类的基础上定义和实现新类。继承是构造可复用软件构件的有效机制。 面向对象程序设计中的多态性是指不同的对象收到相同的消息时所产生多种不同的行为方式,Java 语言基础知识,【学习任务】掌握Java语言基础知识和Java程序设计、编辑、编译和运行,学会利用Java面向对象程序设计语言,更深入的描述和刻画数据结构。 Java许多方面的优点、丰富的API文档和功能强大的类库,使程序员的开发工作可以在一个较高层次上展开,Java程序中的每一条语句都以“;”结尾。利用“”和“”将一组语句括起来构成复合语句。在Java中一行注释以“/”标记;一行或多行注释可介于“/*”和“*/”之间。 【例2.2】一

9、个简单的Java程序。,在一个Java源程序文件中,至少必须包含一个类,但只能包含一个public类。若该类能独立运行必须包含惟一的main方法。对【例2.2】名为Area.java的文件而言,Area就是该文件中定义为public类的类名。每个Java源程序都将被编译为 *.class的类文件,即Area.java经过编译就产生Area.class类文件。main(String args)是程序执行的入口。程序运行可以以命令行的方式运行,也可在集成开发环境中运行.,1 数据类型 在Java语言中,数据类型包括8种基本数据类型和3个引用数据类型。他们的分类及关键字如图2.2所示。,下面是基本数

10、据类型数据在内存中所占的存储空间及其取值范围。 表2.1 各类数据类型数据存储空间及其取值范围,2 运算符 在Java语言中,运算符包括算术运算符,关系运算符,逻辑运算符和位运算符四类 运算符的优先级及其结合性,3 流程控制 计算机高级程序设计语言中,按程序的执行流程,分为三种流程控制结构,分别是:顺序结构、分支结构和循环结构。,3.1分支语句 Java 中有两种语句可用于分支结构,一种是 if 条件语句,另一种是 switch 多路分支语句。 (1)if语句 if语句的格式如下: if () ; else ; (2)switch语句 switch语句是根据表达式的取值来决定分支的选择。即sw

11、itch语句先求表达式的值,再根据该值把控制流程转移到与之匹配的case后的“语句”开始执行,一直执行到下一个break处或者switch的末尾。如果都不匹配,而且存在 default 子句,那么执行default后面的语句。switch语句的格式如下: switch () case : ; break; case : ; break; case : ; break; default: ; ,3.2循环语句 Java 中的循环语句包括:for 循环、while 循环、do-while 循环。它们的共同点是,根据循环条件来判断是否执行循环体。除此之外,每个循环语句都有自己的特点,应根据不同的问题

12、选择合适的循环语句。 与while循环不同的是,do-while 循环首先执行一次循环体,当循环条件满足时则继续进行下一次循环。,3.3特殊的流程控制语句 Java语言还提供了三种无条件转移语句:即return,break和continue。break语句立即结束包含它的最内层循环,通常与if语句和switch语句一起使用。而continue语句只结束当次循环继续执行下一次循环(执行下一次循环前先判断循环条件是否满足)。Java中的return语句有两个作用:一个是返回方法指定类型的值,一个是结束方法的执行。,【例2.3】显示金字塔型数字。,程序如下: public class Ex0102

13、public static void main(String args) final int LINE=9; int row,column,num; for(row=1;row=1;num-) /前面的数字 System.out.print(num+“ “); for(num=2;num=row;num+) /后面的数字 System.out.print(num+“ “); System.out.println(); /换行 该程序中System.out.println()和System.out.print()都是向控制台显示字符串;前者是在显示字符串之后将光标移向下一行,即换行,而后者是执行

14、完输出显示后不换行,4 数组(Array) 数组是一组具有相同数据类型的数据集合。数组中的每个数据称为数据元素。每个元素均有惟一的编号 4.1一维数组 格式如下: ; 或者 ;,使用new创建一维数组的格式如下: = new ; 声明数组变量和创建数组,可以组合为一条语句。格式如下: = new ; 或者 = new ;,4.2二维数组 二维数组是由数组元素组成,每个元素又是一个一维数组。三维数组是二维数组的数组,其中每个二维数组又是一维数组的数组。所以,声明二维数组变量并创建二维数组的方法可以被推广,用来声明n维数组变量和创建n维数组。 【例2.4】 输出循环移位方阵。 假设一维数组tabl

15、e中元素的值分别为: 2 4 9 1 输出如下形式的方阵: 2 4 9 1 4 9 1 2 9 1 2 4 1 2 4 9,程序如下: public class Ex0103 public static void main(String args) int i=0,j=0,n=4; int table=new intn; int table1=new intnn; for(i=0;itable.length;i+) /产生n个随机数初始化一维数组赋值 tablei=(int)(Math.random()*10); for(i=0;itable.length;i+)/把一维数组的数值赋值于二维数组 for(j=0;jtable.length;j+) table1ij=table(i+j)%n; for(i=0;itable1.length;i+) /输出二维数组 for(j=0;jtable1i.length;j+) System.out.print(table1ij+“ “); System.out.println(); ,本例将产生的n个随机数存放在一维数组table中,然后,将一维数组中数据元素的值赋值于二维数组table1,最

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号