JAVA数组的特点:动态数组,具有长度属性length,引用数据类型
-
动态数组是指,在声明数组变量之后,使用new运算符动态申请指定容量(存储单元个数)的数据存储空间;当数组不再被使用时,java将自动收回数组占用的存储空间。
-
每个数组变量都具有长度属性length,采用“数组变量.length"格式表示数组容量。
-
引用数据类型指:一个数组变量保存一个数组的引用,即该数组占用的一块存储空间的首地址,取决于数组元素所属的数据类型。
数组元素的数据类型既可以是基本数据类型,也可以是引用数据类型,对数组元素所能进行的操作,取决于数组元素所属的同一个数据类型。
两个数组赋值,传递数组引用,使得两个数组变量引用同一个数组。 -
数组可以作为方法的参数和返回值,参数传递规则同赋值,即传递数组引用。
如果声明数组是方法的形式参数,调用时,实际参数向形式参数传递数组引用,使得形式参数与实际参数引用同一个数组,因此,在方法体中,任何对形式参数引用数组元素的修改都作用于实际参数用的数组元素。
如果声明方法返回数组,在方法体中,声明局部变量temp引用一个动态创建的数组;返回时,向调用者传递的是局部变量temp所引用的数组。当方法执行完时,java将收回局部变量temp所占用的存储空间,但不会收回temp所引用的数组。
在这里插入代码片
/*线性存储的随机数集合
* 本题目的:
* 1.使用java的一维数组,对象数组作为方法的参数和和返回值;
* 2.输出对象的通用方法;
* 3.声明类,包含对数组操作的通用方法;
* 4.随机数集合,线性存储
*/
package diyizhang;
public class Array1
{
public static void print(Object[] value)
{
for(Object obj:value)
System.out.print(obj==null?"null":""+obj.toString());
System.out.println();
}//产生n个随机数(可重复),范围是0~size-1,返回整数对象数组
public static Integer[]randomInteger(int n,int size)
{
Integer[]values=new Integer[n];//java.lang.Integer是int类型的包装类
for(int i=0;i<values.length;i++)//遍历数组,访问每个元素仅一次
values[i]=new Integer((int)(Math.random()*size));
//java.lang.Math.random()方法产生一个0~1之间double类型的随机数
return values;//返回数组引用
}
}