《java教程第5章.ppt》由会员分享,可在线阅读,更多相关《java教程第5章.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5章章 数组数组熟练使用一维数组和二维数组;会创建类的数组;了解锯齿形数组;数组元素排序算法二分法查找5.1 数组的概念数组的概念数组:具有相同类型的数据的集合;数组的名称:数组有一个名字;数组的类型:数组中所有元素具有相同的类型;数组的元素:数组中的一个数据,称为一个元素;数组的索引:元素的序号,一定要是int型,或能转换成int型的,第一个元素的索引从0开始;数组的长度:整个数组的元素个数。5.2 数组的分类基本数组;对象的数组;5.3 一维数组一维数组正确的声明方式:int a;int a;java中习惯用第一种方式直接初始化:int a=1,2,3,4;(只能放在一行)int a=
2、new int 1,2,3,4;(可以放在两行)动态初始化:int a=new int10;(可以放在两行)动态初始化时,所有数组会自动初始化,基本数据类型其值分别为:0,0.0f,0.0,false,u0000;对象为:null;数组的长度可由数组的属性length获得;数组元素的索引从0开始,aa.length是错误的数组元素访问,运行时会出现异常。int a=new int 4,5,8;int i1=a1;int b=new int3;b=a;数组元素的遍历,增强for循环;for(int x:a)System.out.println(x);数组元素的复制:arraycopy(源数组,复
3、制源起始索引,目标数组,复制目标起始索引,复制长度)对象的数组:Person arrP=new Personnew Person(),new Person(20,“xiaowang”),new Person(10,“lisi”);int age=arrP1.getAge();5.4 数组的数组(多维数组)数组的数组(多维数组)n维数组中存放一个n-1维的数组;正确的声明方式:int a;int a;int a;Java中习惯用第一种声明方式;直接初始化:int a=1,2,3,4,5,6;(只能放在一行)int a=new int 1,2,3,4,5,6;动态初始化:int a=new int
4、32;两维的长度都指定 int a=new int3;只指定第一维的长度a0=new int2;第一个下标表示行数,第二个下标表示列数a1=new int2;此二维数组中包含3个一维数组,每个a2=new int2;一维数组中有两个元素a0是个一维数组多维数组的长度:a.length表示第一维的长度(行数),a0.length表示第一行的元素个数。多维数组元素的访问:多维数组的索引也是从0开始的;a12表示第二行第三个元素;对于上页中的数组a32也是错误的引用。多维数组元素的遍历。for(int x:a)for(int y:x)System.out.println(y);用多维数组存放九九乘法
5、表,并将其输出。5.5 锯齿形数组锯齿形数组直接初始化:int a=1,2,3,4,5,6;int a=new int 1,2,3,4,5,6;动态初始化:int a=new int3;a0=new int2;a1=new int3;a2=new int1;用锯齿数组存放杨辉三角,并打印。数组参数的传递数组参数的传递class ArrayTest public static void methodA(int i)i+;public static void methodA(int a)a0+;public static void main(String args)int i=2;int a=ne
6、w int3;methodA(i);methodA(a);System.out.println(“i=”+i+“,a0=”+a0);5.5 数组元素排序数组元素排序冒泡法排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最
7、大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。案例:将数组arr采用冒泡法排序。int arr=2,-3,9,3,-2,0,-6.5.5数组元素排序续数组元素排序续插入排序法将数组分成两部分,一部分是已经排好序的插入排序法将数组分成两部分,一部分是已经排好序的部分,然后另一部分的每一个元素和排好序部分的元素部分,然后另一部分的每一个元素和排好序部分的元素比较大小确定次序比较大小确定次序案例:将数组arr采用插入法排序。int arr=2,-3,9,3,-2,0,-6.5.5 数组元素二分法查找数组元素二分法查找二分法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。基本思想:假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;若x小于当前位置值,则在数列的前半段中查找;若x大于当前位置值则在数列的后半段中继续查找,直到找到为止。