【数组】
1.数组的动态初始化(声明并开辟数组)
动态初始化:数组先开辟内存空间,然后再使用索引进行内容的设置。
数组是引用数据类型,有内存分配问题。
数据类型[]数组名称=new数据类型[长度];
当数组采用动态初始化开辟空间之后,数组之中的每个元素都是该数据类型的默认值。
在java中有一种动态取得数组长度的方法:数组名称.length。
public class ArrayDemo{
public static void main (String[] args){
int[] x=new int[2];//开辟一个长度为2的数组
System.out.println(x.length);
x[0]=1;//数组第一个元素
x[1]=2;//数组第二个元素
for(int i=0;i<x.length;i++){
System.out.println(x[i]);//通过循环控制索引下标更改
}
}
}
数组属于引用数据类型,因此在使用之前一定要开辟空间,否则就会产生NullPonintException。
2.引用传递
数组作为引用数据,也一定可以发生引用传递。
引用传递空间:同一块堆内存空间可以被不同的栈内存所指向。
3.数组静态初始化
静态初始化:数组在定义的同时还可以设置内容。
数组静态初始化语法(两种格式)
- 简化格式:数据类型[ ]数组名称={值,值,...}
- 完整格式:数据类型[ ]数组名称=new数据类型[ ]{值,值,...}
4.数组与方法互操作
- 方法接收数组
- 方法返回数组
- 方法修改数组
5.对象数组
对象数组往往是以引用数据类型为主的定义,例如:类、接口。
- 动态初始化
类名称[ ]对象数组名称=new 类名称[长度]
- 静态初始化