欢迎来到天天文库
浏览记录
ID:21164535
大小:63.50 KB
页数:9页
时间:2018-10-20
《实验6数组的使用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验6 数组的使用6.1实验目的(1)掌握一维数组、二维数组的定义存储分配方法;(2)了解如何给数组赋初值;(3)熟悉利用循环实现数组的赋值、输出以及处理编程方法。(4)了解命令行参数数组的使用(5)熟悉数组方法参数传递的特点。6.2知识要点6.2.1数组的定义与分配空间(1)定义数组方括号的位置可在数组名前,也可在后。 inta[];等价于int[]a;(2)给数组分配空间的办法:办法1:通过new运算符,例:a=newint[10];办法2:给数组赋初值将自动给数组分配空间;例:intb[]={1,2,3,4,5,3,4,6,7,3};Java规定一维数
2、组的第1个元素的下标为0。(3)关于数组的默认初值问题基本类型数组元素中存放的是数据本身,而引用类型的数组元素中存放的是对象的引用,基本类型上数组在分配空间后,不论数组在什么位置定义,均按基本类型变量的默认值规定赋初值,而引用类型数组在分配空间后默认初值为null。(4)二维数组可看作是数组的数组,每个元素包括行列位置。(5)数组的大小用length属性可求得,一维数组元素的最大下标为其length-1。6.2.2数组的访问(1)用一重循环可遍历访问一维数组的所有元素。例如,以下语句给数组a的所有元素赋值为0。for(intk=0;k3、[k]=0;(2)二维数组的遍历可用二重循环来处理。例如,以下代码给二维数组的所有元素值增1。for(inti=0;i4、数组作为方法参数(1)方法的形参定义为一个数组,实际数组由实参传递,方法中对形参数组的操作实际上是访问实参数组。(2)利用数组作为参数可编写对数组操作的一些通用程序,例如:求所有元素的平均值,将数组排序等。6.3样例程序样例1:利用随机函数产生16个随机整数给一个4*4的二维数组赋值。 1)按行列输出数组 2)求最外一圈元素之和。 3)求主角线中最大元素的值,及其位置。【参考程序】publicclasssum{publicstaticvoidmain(Stringargs[]){ inta[][]=newint[4][4]; ints=0; //计算和 5、 /* 用随机函数给数组赋值*/ for(inti=0;i6、=0;i7、8、i==a.length9、10、j==011、12、j==a[i].length) s+=a[k][a.length-1]; System.out.println("sum="+s); /* 主对角线中最大元值,及其位置*/ intpos=0; for(intk=1;ka[pos][pos]) pos=k; } System.out.println("13、主对角线最大元为a["+p+"]["+p+"]="+a[p][p]);} }【编程技巧】(1)用二重循环访问二维数组的元素,外循环控制行变化,内循环控制列变化;(2)如何最外一圈元素的特征,从而找出所有最外一圈元素。(3)主对角线上元素行、列值相等,所以可用一重循环遍历元素。样例2就一维数组问题编写如下方法: 1)求一个数组的最大元素值:publicstaticintmaxe(inta[]) 2)求一个数组的所有元素的平均值:publicstaticintaverage(inta[]) 3)查找某个数在数组中的位置:publicstaticintsea14、rch(i
3、[k]=0;(2)二维数组的遍历可用二重循环来处理。例如,以下代码给二维数组的所有元素值增1。for(inti=0;i4、数组作为方法参数(1)方法的形参定义为一个数组,实际数组由实参传递,方法中对形参数组的操作实际上是访问实参数组。(2)利用数组作为参数可编写对数组操作的一些通用程序,例如:求所有元素的平均值,将数组排序等。6.3样例程序样例1:利用随机函数产生16个随机整数给一个4*4的二维数组赋值。 1)按行列输出数组 2)求最外一圈元素之和。 3)求主角线中最大元素的值,及其位置。【参考程序】publicclasssum{publicstaticvoidmain(Stringargs[]){ inta[][]=newint[4][4]; ints=0; //计算和 5、 /* 用随机函数给数组赋值*/ for(inti=0;i6、=0;i7、8、i==a.length9、10、j==011、12、j==a[i].length) s+=a[k][a.length-1]; System.out.println("sum="+s); /* 主对角线中最大元值,及其位置*/ intpos=0; for(intk=1;ka[pos][pos]) pos=k; } System.out.println("13、主对角线最大元为a["+p+"]["+p+"]="+a[p][p]);} }【编程技巧】(1)用二重循环访问二维数组的元素,外循环控制行变化,内循环控制列变化;(2)如何最外一圈元素的特征,从而找出所有最外一圈元素。(3)主对角线上元素行、列值相等,所以可用一重循环遍历元素。样例2就一维数组问题编写如下方法: 1)求一个数组的最大元素值:publicstaticintmaxe(inta[]) 2)求一个数组的所有元素的平均值:publicstaticintaverage(inta[]) 3)查找某个数在数组中的位置:publicstaticintsea14、rch(i
4、数组作为方法参数(1)方法的形参定义为一个数组,实际数组由实参传递,方法中对形参数组的操作实际上是访问实参数组。(2)利用数组作为参数可编写对数组操作的一些通用程序,例如:求所有元素的平均值,将数组排序等。6.3样例程序样例1:利用随机函数产生16个随机整数给一个4*4的二维数组赋值。 1)按行列输出数组 2)求最外一圈元素之和。 3)求主角线中最大元素的值,及其位置。【参考程序】publicclasssum{publicstaticvoidmain(Stringargs[]){ inta[][]=newint[4][4]; ints=0; //计算和
5、 /* 用随机函数给数组赋值*/ for(inti=0;i6、=0;i7、8、i==a.length9、10、j==011、12、j==a[i].length) s+=a[k][a.length-1]; System.out.println("sum="+s); /* 主对角线中最大元值,及其位置*/ intpos=0; for(intk=1;ka[pos][pos]) pos=k; } System.out.println("13、主对角线最大元为a["+p+"]["+p+"]="+a[p][p]);} }【编程技巧】(1)用二重循环访问二维数组的元素,外循环控制行变化,内循环控制列变化;(2)如何最外一圈元素的特征,从而找出所有最外一圈元素。(3)主对角线上元素行、列值相等,所以可用一重循环遍历元素。样例2就一维数组问题编写如下方法: 1)求一个数组的最大元素值:publicstaticintmaxe(inta[]) 2)求一个数组的所有元素的平均值:publicstaticintaverage(inta[]) 3)查找某个数在数组中的位置:publicstaticintsea14、rch(i
6、=0;i7、8、i==a.length9、10、j==011、12、j==a[i].length) s+=a[k][a.length-1]; System.out.println("sum="+s); /* 主对角线中最大元值,及其位置*/ intpos=0; for(intk=1;ka[pos][pos]) pos=k; } System.out.println("13、主对角线最大元为a["+p+"]["+p+"]="+a[p][p]);} }【编程技巧】(1)用二重循环访问二维数组的元素,外循环控制行变化,内循环控制列变化;(2)如何最外一圈元素的特征,从而找出所有最外一圈元素。(3)主对角线上元素行、列值相等,所以可用一重循环遍历元素。样例2就一维数组问题编写如下方法: 1)求一个数组的最大元素值:publicstaticintmaxe(inta[]) 2)求一个数组的所有元素的平均值:publicstaticintaverage(inta[]) 3)查找某个数在数组中的位置:publicstaticintsea14、rch(i
7、
8、i==a.length
9、
10、j==0
11、
12、j==a[i].length) s+=a[k][a.length-1]; System.out.println("sum="+s); /* 主对角线中最大元值,及其位置*/ intpos=0; for(intk=1;ka[pos][pos]) pos=k; } System.out.println("
13、主对角线最大元为a["+p+"]["+p+"]="+a[p][p]);} }【编程技巧】(1)用二重循环访问二维数组的元素,外循环控制行变化,内循环控制列变化;(2)如何最外一圈元素的特征,从而找出所有最外一圈元素。(3)主对角线上元素行、列值相等,所以可用一重循环遍历元素。样例2就一维数组问题编写如下方法: 1)求一个数组的最大元素值:publicstaticintmaxe(inta[]) 2)求一个数组的所有元素的平均值:publicstaticintaverage(inta[]) 3)查找某个数在数组中的位置:publicstaticintsea
14、rch(i
此文档下载收益归作者所有