数组基础

介绍

存储同种数据类型的有序集合,本质是对象,存在于堆。每一个数据称作元素,元素通过索引(下标)来访问。

特点:一旦创建,长度固定。可存储基本和引用数据类型

数组是对象(属于引用类型),元素类似成员变量

数组声明

声明方式:type[] xxx【推荐】或者type xxx[]

声明的时候没有实例化任何对象,数组也并没有真正被创建,只有在实例化数组对象时,JVM才分配空间。构造数组,必须指定长度。

示例:

package com.itcode.demo;  

/**      
 * @author: 成都码到功成学员  
 * @description:  
 * 数组 
 */  
class ArrUser{  
    private int id;  
    private String name;  

    /** 
     * @param id 
     * @param name 
     */  
    public ArrUser(int id, String name) {  
        super();  
        this.id = id;  
        this.name = name;  
    }  

    /** 
     * @return the id 
     */  
    public int getId() {  
        return id;  
    }  

    /** 
     * @param id the id to set 
     */  
    public void setId(int id) {  
        this.id = id;  
    }  

    /** 
     * @return the name 
     */  
    public String getName() {  
        return name;  
    }  

    /** 
     * @param name the name to set 
     */  
    public void setName(String name) {  
        this.name = name;  
    }  

}  
public class TestArray {  

    public static void main(String[] args) {  
        // 基本数据  
        int[] arr = new int[10];  

        // 数组赋值  
        for (int i = 0; i < arr.length; i++) {  
            arr[i] = i*10;  
        }  

        // 数组遍历  
        for (int i = 0; i < arr.length; i++) {  
            System.out.println(arr[i]);  
        }  

        // 引用类型这里会在内存创建四个对象,会把三个ArrUser对象的地址值给数组对象。
        ArrUser[] au = new ArrUser[3];  
        au[0] = new ArrUser(11, "成都");  
        au[1] = new ArrUser(12, "成都码到功成");  
        au[2] = new ArrUser(13, "码到功成");  

        for (int i = 0; i < au.length; i++) {  
            System.out.println(au[i].getId() + ":" + au[i].getName());  
        }  
    }  

}

效果:

数组初始化

声明方式:type[] xxx【推荐】或者type xxx[]

声明的时候

数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化

  • 静态初始化:定义数组的同时为数组元素分配空间并赋值。

  • 动态初始化:数组定义与为数组元素分配空间并赋值的操作分开

  • 默认初始化:定义数组的同时为数组元素分配空间并分配默认值。

示例:

package com.itcode.demo;  

/**      
 * @author: 成都码到功成学员  
 * @description:  
 * 数组初始化方式 
 */  

public class TestArray2 {  

    public static void main(String[] args) {  
        // 数组的初始化方式总共有三种:静态初始化  
        int[] arr = {1, 2, 3};  

        // 数动态初始化  
        int[] arr1 = new int[2];  
        arr1[0] = 10;  
        arr1[1] = 11;  

        // 默认初始化  
        int[] arr2 = new int[2]; // 初始化数组并分配默认值,分配默认值的形式与成员变量类似。  
    }  

}

数组遍历

分为普通遍历和for-each遍历。

for-each/增强for循环不能修改数组元素的值,不涉及索引(下标)的操作。

示例:

package com.itcode.demo;  

/**      
 * @author: 成都码到功成学员  
 * @description:  
 * 数组遍历 
 */  

public class TestArray3 {  

    public static void main(String[] args) {  

        String[] arr = {"成都", "码到", "功成"};  

        // 普通for循环  
        for (int i = 0; i < arr.length; i++) {  
            System.out.println(arr[i]);  
        }  

        // 增强/for-each循环 只能读取值,不能修改值。  
        for (String s : arr) {  
            System.out.println(s);  
        }  

    }  

}

效果:

Last updated

Was this helpful?