第5章数组ppt课件.ppt
《第5章数组ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5章数组ppt课件.ppt(54页珍藏版)》请在三一文库上搜索。
1、第5章 数组,本章要点,掌握一维数组创建和使用的方法 掌握二维数组创建和使用的方法 掌握如何遍历数组 掌握如何复制数组 掌握如何填充数组 掌握如何排序数组元素 掌握如何查找数组元素,第5章 数组,5.1 数组概述 5.2 一维数组 5.3 二维数组 5.4 数组的基本操作,主要内容,5.1 数组概述,数组元素有以下五个主要特征 数组是相同数据类型元素的集合。 数组元素在内存中按先后顺序存放。 每个数组元素都用数组名及下标表示。 数组下标从0开始 每个数组都有长度,即元素个数。,5.2 一维数组,5.2.1 创建一维数组 5.2.2 初始化一维数组,5.2.1 创建一维数组,在使用数组之前,必须
2、首先定义数组变量所属的类型,即声明数组 声明一维数组有两种形式,语法如下所示:,数组元素类型 数组名字 ; 数组元素类型 数组名字;,5.2.1 创建一维数组,数组的声明(Declaration) 声明数组时无需指明数组元素的个数,也不为数组元素分配内存空间 不能直接使用,必须经过初始化分配内存后才能使用,声明数组后,要想使用数组还要为其分配内存空间,分配内存空间时必须指明数组的长度。 数组使用new关键字进行内存分配。 分配内存空间的语法如下所示:,5.2.1 创建一维数组,数组名字 = new 数组元素类型数组元素个数;,也可以在创建数组时直接为变量进行赋值。,数组元素类型 数组名 = n
3、ew数组元素类型数组元素个数;,5.2.1 创建一维数组,用关键字new构成数组的创建表达式,可以指定数组的类型和数组元素的个数。 元素个数可以是常量也可以是变量。 基本类型数组的每个元素都是一个基本类型的变量; 引用类型数组的每个元素都是对象的引用。,5.2.1 创建一维数组,arryName=new Typecomponets number; 例如: int ai; ai=new int10; String s; s=new String3; 或者可以将数组的声明和创建一并执行 int ai=new int10; 可以在一条声明语句中创建多个数组 String s1=new String3
4、, s2=new String8;,5.2.2 初始化一维数组,数组可以与基本数据类型一样进行初始化操作,数组的初始化可分别初始化数组中每个元素。 数组的初始化有两种形式,如下所示:,int arr = new int1,2,3,5,25; int arr2 = 34,23,12,6;,5.2.2 初始化一维数组,声明数组名时,给出了数组的初始值,程序便会利用数组初始值创建数组并对它的各个元素进行初始化 int a=22, 33, 44, 55; 创建数组的时,如果没有指定初始值,数组便被赋予默认值初始值。 基本类型数值数据,默认的初始值为0; boolean类型数据,默认值为false; 引
5、用类型元素的默认值为null。,数组的引用,通过下面的表达式引用数组的一个元素: arrayNameindex 数组下标必须是 int , short, byte, 或者 char 下标从零开始计数 元素的个数即为数组的长度,可以通过 arryName.length引用 元素下标最大值为length-1,如果超过最大值,将会产生数组越界异常,数组的引用,数组名是一个引用:,int a1 = 1, 2, 3, 4, 5 ; int a2; a2 = a1; for(int i = 0; i a2.length; i+) a2i+; for(int i = 0; i a1.length; i+)
6、System.out.println( “a1“ +i+“ = “+a1i);,数组元素的赋值:随机数,1. 通过Math类生成随机数 Math.random() 默认生成0.0,1.0)的double型随机数, 即0 = Math.random() 1.0 (int)(Math.random()*N) M+(int)(Math.random()*(N-M),数组元素的赋值:随机数,2. 使用Random类生成随机数 java.util.Random类 Random r=new Random();,r.nextInt( ) /产生一个随机整数 r.nextInt(int n ) /产生 0,n
7、)之间的随机整数 r.nextFloat( ) /产生一个随机浮点数值 r.nextDouble ( ) /产生一个随机双精度数值,常用的数学运算方法,Math类包含了所有用于数学运算的函数方法,这些方法都是静态的 方法的调用格式:“Math.数学方法” 在Math类中除了函数方法之外还存在两个常用数学常量,分别为圆周率、E: Math.PI Math.E,常用的数学运算方法,1. 三角函数类: Math.sin(double x) Math.cos(double x) Math.tan(double x) 2.指数函数类: Math.exp(double x) /ex Math.log(do
8、uble x) /lnx Math.sqrt(double x) /x1/2 Math.pow(double x,double y) / xy,5.3 二维数组,5.3.1 创建二维数组 5.3.2 初始化二维数组,5.3.1 创建二维数组,声明二维数组的方法有两种,语法: 数组元素类型 数组名字 ; 数组元素类型 数组名字;,二维数组可以看成由多个一维数组所组成,在给二位数组分配内存时,可以为这些一维数组同时分配相同的内存。 第一个方括号中数字是一维数组的个数,第二个方括号中数字是这些一维数组的长度。,5.3.1 创建二维数组,对于多维数组有两种为数组分配内存的方式。 1)直接为每一维分配内
9、存空间。 为每一维数组分配内存,实例代码如下: a = new int24;,5.3.1 创建二维数组,2)可分别为每一维分配内存 分别为每一维分配内存,实例代码如下: a = new int2; a0 = new int2; a1 = new int3;,5.3.2 初始化二维数组,二维数组的初始化同一维数组初始化类似,同样使用大括号完成二维数组的初始化。 语法: type arrayname = value1,value2valuen;,每个value都是一个大括号定义的新一维数组,说明:对于整型二维数组,创建成功之后系统会赋给数组中每个元素初始化值0。,int myarr = 12,0,
10、45,10;,5.4 数组的基本操作,5.4.1 遍历数组 5.4.2 复制数组 5.4.3 填充数组 5.4.4 排序数组元素 5.4.5 查找数组元素,5.4.1 遍历数组,遍历数组有两种常用的方式,使用for循环和使用foreach循环。 两者的区别在于for循环能够在遍历过程中修改数组中的元素,而foreach循环不行。,5.4.1 遍历数组,【例5-1】循环输出数组中的元素,int array = new int5; for(int i=0; iarray.length;i+) arrayi = i; System.out.println(“数组中的元素:“); for (int i
11、 : array) System.out.print(i + “ “); ,遍历二维数组for语句,遍历二维数组需使用双层for循环,通过数组的length属性可获得数组的长度。,int b = new int 1 , 2, 3 , 4, 5, 6 ; for (int i = 0; i b.length; i+) for (int j=0; jbi.length; j+) System.out.print(bij +“ “); System.out.println(); ,遍历二维数组foreach语句,int arr2 = 4, 3 , 1, 2 ; System.out.println(
12、“数组中的元素是:“); for (int x : arr2) for (int e : x) System.out.print(e + “ “); ,5.4.2 复制数组,java.util.Arrays类中的copyOf()方法和copyOfRange()方法都可以实现数组的复制功能,并且它们都提供了多种重载形式。 使用copyOf()复制数组语法。 public static int copyOf(int original, int newLength) original:需要进行复制的数组。 newLength:复制完成后,新生成数组的长度。该值可以大于original数组元素的个数。
13、,补充:方法重载,在Java中允许用同一方法名定义多个方法,这些方法的参数个数或参数类型不同,这就是方法的重载(function overloading)。 方法重载有两点要求: 重载的方法名称必须相同; 重载方法的形参个数或类型必须不同,对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候就构成方法重载。 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法。 重载的时候,方法名要一样,但是参数类型或个数不一样,返回值类型可以相同也可以不相同。,补充:方法重载,补充:方法重载参数个数不同,public class Te
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 ppt 课件
链接地址:https://www.31doc.com/p-2566897.html