java语言程序设计5数组定义与使用ppt课件.ppt
《java语言程序设计5数组定义与使用ppt课件.ppt》由会员分享,可在线阅读,更多相关《java语言程序设计5数组定义与使用ppt课件.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 在实际应用中,经常需要处理具有相同性质的一批数据。为此,在Java中还引入了数组,即用一个变量表示一组相同性质的数据。5.1 一维数组一维数组5.2 多维数组多维数组5.3 数组的基本操作数组的基本操作5.4 数组应用举例数组应用举例5.5 数组参数数组参数5.6 字符串字符串5.1 一维数组一维数组 数组是用一个变量名表示一组数据,每个数据称为数组元素,每个元素通过下标来区分。如果用一个下标能确定数组中的不同元素,这种数组称为一维数组。1 1 一维数组的声明一维数组的声明 一维数组声明的格式为:类型标识符类型标识符 数组名数组名 或或类型标识符类型标识符 数组名数组名 类型标
2、识符指定每个元素的数据类型。例如,要表示学生的成绩(整数),可以声明数组score: int score ; 该声明表示数组的名字为score,每个元素为整数。要表示学生的体重(浮点数),可以声明元素的数据类型为float的数组weight,其声明如下: float weight; 2 一维数组的初始化 要让系统为数组分配存储空间,必须指出数组元素的个数,该工作在数组初始化时进行。l用用newnew初始化数组初始化数组n先声明数组再初始化先声明数组再初始化 数组名= new 类型标识符元素个数 元素个数通过整型常量来表示。要表示10个学生的成绩(整数),可以先声明元素的数据类型为int的数组s
3、core,再用new运算符初始化该数组。 intint score; score; score=new int10;score=new int10; 数组中各元素通过下标来区分,下标的最小值为0,最大值比元素个数少1。score的 10个元素分别为score0,score1,score2,score3,score9。系统为该数组的10个元素分配存储空间,形式如下表所示:score0score1score2score3score4score5score6score7score8score9例:要计算100个学生的平均成绩,可以使用以下的程序段:float sum;int i;int score
4、;score = new int100; /* 输入数组各元素的值 */sum=0;for ( i=0; i100; i+) sum=sum+scorei;sum=sum/100;n声明的同时进行初始化声明的同时进行初始化 可以用1条语句声明并初始化数组,即将上面的2条语句合并为一条语句。其格式如下:类型标识符类型标识符 数组名数组名 = new 类型标识符类型标识符元素个数元素个数或或类型标识符类型标识符 数组名数组名= new 类型标识符类型标识符元素个数元素个数 例如,要表示10个学生的学号,可以按以下方式声明并初始化数组no: int no = new int10; l赋初值初始化数组
5、 可以在声明数组的同时,给数组元素赋初值。所赋初值的个数决定数组元素的数目。其格式如下: 类型标识符 数组名 = 初值表 初值表是用逗号隔开的初始值。 例如: int score =65,34,78,81,56,92,56,87, 90, 77;score0score1score2score3score4score5score6score7score8score9653478815692568790775.2 5.2 多维数组多维数组1 1 二维数组的声明二维数组的声明 二维数组的声明方式与一维数组类似,只是要给出两对方括号。二维数组声明形式如下:类型标识符类型标识符 数组名数组名 或或类型标
6、识符类型标识符 数组名数组名 例如,要表示每个数据为整型数的行列式,可以声明 如下二维数组: int a ;2 二维数组的初始化 l用用newnew初始化二维数组初始化二维数组n先声明数组再初始化先声明数组再初始化 数组名数组名= new 类型标识符类型标识符行数行数列数列数例如: intint a; a; a=new int34; a=new int34;n声明的同时进行初始化声明的同时进行初始化 类型标识符类型标识符 数组名数组名 = new 类型标识符类型标识符行数行数列数列数或或类型标识符类型标识符 数组名数组名=new 类型标识符类型标识符行数行数列数列数 int int a=new
7、 int34; a=new int34; 数组中各元素通过两个下标来区分,每个下标的最小值为0,最大值分别比行数或列数少1。a的12个元素分别为a00, a01, a02, a03, a10, a11,a23。系统为该数组a的12个元素分配存储空间,形式如表所示:a0 0a0 1a0 2a03a1 0a1 1a1 2a1 3a2 0a2 1a2 2a2 3l赋初值初始化数组赋初值初始化数组其格式如下:类型标识符 数组名 = 初值表,初值表,初值表 int grade = 65,34, 78, 81, 56, 92, 56, 87,90, 92, 69, 75;数组grade共有12个元素,元素
8、grade 00,grade 01,grade 02,grade 10,grade 32的初始值分别为65,34,78,75,如表所示:grade 00 65grade 01 34grade 02 78grade 10 81grade 11 56grade 12 92grade 20 56grade 21 87grade 22 90grade 30 92grade 31 69grade 32 755.3 数组的基本操作数组的基本操作 l数组的引用 对数组的应用通常是对其元素的引用。 int age=new int3; age0=25; age2=2+age0 ;l数组的复制 int a=new
9、 int6; int b=1,2,3,4,5,6; for(int i=0;i6;i+) ai=bi; 或 a=b;例-数组复制int c,d, e,i, j;c=new int33;d=new int33;e=new int33;for(i=0;i3; i+) for (j=0; j3; j+) dij=i+j; cij=dij; e=d;l数组的输出数组的输出 数组的输出通常是逐个元素结合循环语句实现的。 int a=new int6; for(int i=0;i6;i+) ai=i; System.out.println(ai); 例-一维数组的复制class ArrayC public
10、 static void main(String args) int a,b, i, j; a=new int3; b=new int5; System.out.println(a.length=+a.length); for ( i=0; ia.length; i+) ai=i; System.out.print(ai+ ); System.out.println(); System.out.println(Before array assignment); System.out.println (b.length=+b.length); for (j=0; jb.length; j+) b
11、j=j*10; System.out.print(bj+ ); System.out.println(); b=a; System.out.println(After array assignment); System.out.println (b.length=+b.length); for (j=0; jb.length; j+) System.out.print(bj+ ); System.out.println(); 程序运行结果如下: a.length=30 1 2Before array assignmentb.length=50 10 20 30 40After array as
12、signmentb.length=30 1 2例-二维数组的复制class ArrayC2 public static void main(String args) int c,d,i, j; c=new int22; d=new int33; System.out.println( Array d); for(i=0;id.length; i+) for (j=0; jdi.length; j+) dij=i+j; System.out.print(dij+ ); System.out.println(); c=d;System.out.println( Array c);for(i=0;i
13、c.length; i+) for (j=0; jci.length; j+) System.out.print(cij+ ); System.out.println(); 程序运行结果如下: Array d0 1 21 2 32 3 4Array c0 1 21 2 32 3 45.4 数组应用举例数组应用举例 例例 排序排序 排序是将一组数按照递增或递减的顺序排列。排序的方法很多,其中最基本的是选择法。此处介绍选择法排序,其基本思想如下:对于给定的n个数,从中选出最小(大)的数,与第1个数交换位置,便将最小(大)的数置于第1个位置。对于除第1个数外的剩下的n-1个数,重复步骤1,将次小(大
14、)的数置于第2个位置。对于剩下的n-2,n-3,n-n+2个数用同样的方法,分别将第3个最小(大)数置于第3位置,第4个最小(大)数置于第4位置,第n-1个最小(大)数置于第n-1位置。 假定有7个数,7,4,0,6,2,5,1,根据该思想,对其按照递增顺序排列,需要进行6轮选择和交换过程:第1轮:7个数中,最小数是0,与第1个数7交换位置,结果为:0 4 7 6 2 5 1第2轮:剩下的6个数中,最小数是1,与第2个数4交换位置,结果为:0 1 7 6 2 5 4第3轮:剩下的5个数中,最小数是2,与第3个数7交换位置,结果为:0 1 2 6 7 5 4第4轮:剩下的4个数中,最小数是4,与
15、第4个数6交换位置,结果为:0 1 2 4 7 5 6第5轮:剩下的3个数中,最小数是5,与第5个数7交换位置,结果为:0 1 2 4 5 7 6第6轮:剩下的2个数中,最小数是6,与第6个数7交换位置,结果为:0 1 2 4 5 6 7 可见,对于n个待排序的数,要进行n-1轮的选择和交换过程。其中第i轮的选择和交换过程中,要进行n-i次的比较,方能选择出该轮中最小(大)的数。 import java.io.*; class ArraySort public static void main(String args) throws IOException BufferedReader key
16、in =new BufferedReader(new InputStreamReader(System.in); int a,i, j, k, temp; String c; System.out.println(Input the number of array elements!);例-排序例 排序(续)c=keyin.readLine();temp=Integer.parseInt(c);a = new inttemp;System.out.println(Input + temp + numbers. One per line!);for ( i=0; ia.length; i+) c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 语言程序设计 数组 定义 使用 ppt 课件
限制150内