Java中数组的定义及初始化

1. 定义及初始化

1. 1动态初始化(声明并开辟数组)
数组类型[] 数组名 = new 数据类型[数组长度];

 其中,数据类型可以是8种基本的数据类型,也可以是引用数据类型。 注意:

    在给数组命名的时候,一般在数组名后加一个 s 表示这是一个包含多个元素的数组(与单个变量区分)。 当数组采用动态初始化开辟空间之后,数组之中的每个元素都是该数据类型的默认值。
数据类型 默认初始化 byte、short、int、long 0 foat、double 0.0 char 一个空字符,即 ‘u0000’ boolean false 引用数据类型 null,表示变量不引用任何对象
    数组名称.length:取得数组长度(数组长度可以由属性length获得)。 数组遍历推荐使用for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环:for(int x: 数组名称) {……}
public class Study02{
          
   
    public static void main(String[] args){
          
   
        int[] arrays = new int[5];	//定义并开辟了一个长度为3的数组
	    // 可以将上面代码分成两句来写
	   int[] array = null;	// 声明一个长度int[]类型的变量,变量会占用一块内存空间,它没有分配初始值。
	   array = new int[5];	//创建一个长度为5的数组,将数组的地址赋给变量arrays。
		
	   for(int i = 0; i < arrays.length; i++)
        {
          
   
            System.out.println("arrays[" + i + "] = " + arrays[i] + " ");
        }
        arrays[0] = 10;	//数组的第一个元素
        arrays[1] = 20;	//数组的第二个元素
        // 数组遍历
        for(int x : array)
        {
          
   
            System.out.println(array[x]);
        }
    }
}
1.2 静态初始化
简化格式:
	数据类型[] 数组名称 = {值, 值, …};
完整格式(推荐):
	数据类型[] 数组名称 = new 数据类型[]{值, 值, …};

注意:  a. 通过数组下标索取来取得元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)。  b. 数组属于引用数据类型,在使用之前一定要开辟空间(实例化),否则就会产生"NullPoninterException"。

int[] arrays = {
          
   1, 2, 3, 4, 5};
	int[] arrays = new int[]{
          
   1, 2, 3, 4, 5};

2. 引用传递

 数组作为引用数据类型,也可以发生引用传递。  引用传递空间:同一块堆内存空间可以被不同的栈内存所指向。 范例: 多个栈内存指向相同的堆内存。

public class Study02{
          
   
    public static void main(String[] args){
          
   
        int[] arr = new null;
        int[] temp = null;  // 声明对象
        arr = new int[3];   // 开辟一个长度为3的数组
        System.out.println(arr.length);
        arr[0] = 1; // 数组第一个元素
        arr[1] = 2; // 数组第二个元素
        arr[2] = 3; // 数组第三个元素
        for(int i = 0; i < arr.length; i++)
        {
          
   
            //通过循环控制索引下标更改
            System.out.println(arr[i]);
        }
        temp = arr; // 发生引用传递,不能出现[]
        temp[0] = 55;  // 修改数据
        System.out.println(arr[0]);
    }
}

注意: 在数组定义时直接设置内容,根据值的个数确定长度,且长度不可修改。

经验分享 程序员 微信小程序 职场和发展