java中数组源代码 java数组源码解析( 二 )


二、为二维数组分配空间
(1)直接为每一维分配空间
例如:int a[][]=new int[3][2];//建立3行2列数组
(2)高维开始,分别为每一维分配空间
例如:
int a[][]=new int[3][];//指定最高维的长度为3,然后分别为每一维分配空间
a[0]=new int[2];
a[1]=new int[3];
a[2]=new int[4];
三、二维数组的初始化
(1)直接为数组元素赋值
例如:
int a[][]=new int[2][2];
a[0][0]=1;
a[0][1]=2;
a[1][0]=3;
a[1][1]=4;
(2)在数组声明时为数组初始化
例如:int a[][]={{1},{2,3},{4,5,6}};
四、二维数组的引用
格式为:数组名[下标1][ 下标2];
下标1 , 下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始 。
java源程序中定义一个5个元素的数组,求出平均分和总分?//利用纯面向对象的方法 , 给你写一个简单的
package exam;
public class MyArray {
private double sum; //和
private double avg; //平均值
private double[] array; //容纳double类型元素的数组
public MyArray(int size){ //初始化数组的大小
array = new double[size=0?1:size]; //标示数组容量 ,不能小于等于 0 ,否则数组为1个元素的容量
}
//向 数组中添加元素,参数为变长参数 即
// addElement(1.0d);可行
//addElement(1.0d,2.0d,3.0d)可行
//处理参数时 , 当做数组
public void addElements(double ..elements){
//如果参数为空  , 则跳出方法
if(elements==null)
return;
//处理参数并保存到array数组,条件是参数的个数不能大于array的容量
//你可以考虑数据超多的情况,这里没有后续处理。。
for(int i=0;ielements.lengthelements.length=array.length;i++)
array[i]=elements[i];
}
//获取数组元素累加的和
public double getSum(){
for(double el:array)
sum+=el;
return this.sum;
}
//获取数组元素的平均值,除数永远不可能为0或者负数
public double getAvg(){
this.avg = this.getSum()/this.array.length;
return this.avg;
}
//其他方法可以自己定义
//测试方法main
public static void main(String[] args){
MyArraymy = new MyArray(5);
my.addElements(12.0d,13.2d,20.1d,22.4d,100d);
double sumR = my.getSum(); //得到和
double avgR = my.getAvg(); //得到平均值
//其他自己去处理吧
}
}
java中的数组能够在定以后改变长度吗java中数组的长度不可以改变 。
java中的数组的定义就是相同类型,固定长度的一组数据 , 一旦被初始化,长度不可更改 。如果对需要用的数组的长度不确定,有两种解决办法:
第一种是在数组初始化的时候长度申请的足够大 , 这样做会造成内存空间的浪费,一般不推荐使用 。
第二种是用java中提供的集合的方式存储数据 , 如List,Set和Map类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀 。
java中数组源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数组源码解析、java中数组源代码的信息别忘了在本站进行查找喔 。

推荐阅读