Java语言基础教程 教学课件 作者 沈昕 04.ppt
文本预览下载声明
* * 第4章 数组和方法 4.1 数据结构和数组 4.2 方法 4.1 数据结构和数组 4.1.1 数据结构 (1)数据 (2)数据元素 (3)数据对象 (4)关键数据项 (5)数据类型 4.1.2 一维数组 (1)数组是相同数据类型元素的集合。 (2)数组中的各个元素在内存中按照先后顺序连续存放在一起。 1.数组 (3)每个数组元素用其所在数组的名字和其在数组中的顺序位置表示。例如,major[0]代表变量名为major的数组中的第一个元素,major[1]代表变量名为major的数组中的第二个元素,依此类推,major[n]代表数组major中的第n+1个元素。 (4)数组的下标值是从0开始的,其可以是int类型的数据、变量和算术表达式。例如,major[i]、numbers[2*5]都是合法的下标值。 (5)每个数组都有长度,也就是其所能含有的元素的个数。 (1)在使用数组之前必须先声明数组。声明数组主要是声明数组的名称和数组中元素的数据类型,其格式有两种: 数组元素类型[ ] 数组名称; 数组元素类型 数组名称[ ]; 其中,数组名称必须符合Java语言标识符规则。 2.创建数组 例如,下面的声明语句都是合法的。 String major[ ]; int[ ] numbers; 声明数组的目的只是告诉系统一个新的数组的名称和类型,现阶段的数组还没有保存任何数组元素,数组值为null。 (2)使用关键字new来指定数组的长度,并分配相应的内存空间,其格式为: 数组名称 = new数组元素类型[元素个数]; (3)按照顺序依次给每个元素赋值。 (4)还可以在声明数组的同时直接给数组赋初值,初值的个数是数组的长度。 复制数组的方法与复制普通变量的方法不同,分为两种情况。 (1)两个数组指向同一个元素空间,也就是说声明并创建了一个数组,其在内存中具有一定的空间,然后又声明了一个数组,让其同样表示该内存空间中的数组元素。 3.复制数组 (2)两个数组指向内容完全相同的两个元素空间。如果要真正复制一个数组,使得在修改复制数组的值时,不会影响到原数组的值,则需要声明一个和原数组长度相同的数组,然后再把原数组中的元素一一复制给新的数组。 4.1.3 二维数组 (1)在使用二维数组之前必须先声明二维数组。声明二维数组主要是声明二维数组的名称和数组中元素的数据类型,其格式有两种: 数组元素类型[ ][ ] 数组名称; 数组元素类型 数组名称[ ][ ]; 1.创建二维数组 (2)使用关键字new来指定数组的长度,并分配相应的内存空间,其格式有两种: 数组名称 = new数组元素类型[元素个数1][元素个数2]; 数组名称 = new数组元素类型[元素个数1][ ]; (1)按照顺序依次给每个元素赋值。 (2)在声明数组的同时直接给数组赋初值,初值的个数是数组的长度。 (3)二维数组的长度 二维数组的长度是指行数的个数,二维数组每行的长度是指每行的元素个数。 2.给二维数组赋值 4.1.4 排序 (1)选择排序法 选择排序法的排序原则:首先将一组无序的数字排列成一排,再将其最大的数字与最后一个数字交换位置,最大数字成为已排序数字。然后将剩下的未排序数字中最大的数字与最后一个未排序数字交换位置,成为已排序数字。重复上面的步骤,直到所有数字都成为已排序数字。 (2)插入排序法 插入排序法的排序原则:将一组无序的数字排列成一排,左端第一个数字为已经完成排序的数字,其他数字为未排序的数字。然后从左到右依次将未排序的数字插入到已排序的数字中。 (3)冒泡排序法 冒泡排序法的排序原则:首先将一组无序的数字排列成一排。再从左端开始将相邻两个数字做比较,如果左边的数字比右边的数字大,则交换其位置。一轮比较完成后,最大的数字会在数列最后的位置上“冒出”。重复比较和交换剩下未排序的数字,直到全部数字“冒出”。 (4)合并排序法 合并排序法的排序原则:将一排数字分成两部分,然后再将这两部分各自又分成两部分,一直到每个部分都是一个数字。然后再将分开的两个数字按照从小到大或者从大到小的顺序进行合并。进行同样操作依次合并所有之前分开的部分,最终合成为一个排序好的数列。 (5)快速排序法 快速排序法的排序原则:首先选中一排数字中的任意一个数(一般为第一个数字),然后通过比较和交换数字,使该数字左边的数字都比其小,该数字右边的数字都比其大。这样该数列就分成了左右两个未排序的部分和中间已排序的
显示全部