Java数组的一些知识

复习一下Java数组的知识

  • Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的,只能改变数组元素的值。

  • Java中的数组必须初始化后才可以使用 ,更准确的说应该是数组对象必须初始化,而数组变量不需要初始化,数组变量只需要指向一个有效的数组对象即可正常使用。

  • 数组的初始化方式分为:

    • 静态初始化:初始化时由开发人员显示的指定每个数组元素的初始值,由系统决定数组长度;
    • 动态初始化:初始化时开发人员只指定数组长度,由系统为数组元素分配初始值。
  • 基本类型数组的初始化如下:

public static void main(String args[]){
    //静态初始化
    String[] names = {"孙悟空","猪八戒","鲁智深"};
    //动态初始化
    String[] values = new String[5];
    values[0] = "孙悟空"
    values[1] = "猪八戒"
    values[2] = "鲁智深";
    //数组变量
    String[] arr;
    arr = names;
    System.out.println(arr.length);
}
  • 引用类型数组的元素依然是引用类型,因此数组里面存储的还是引用,它指向另外一块内存,这块内存里存储了该引用变量所引用的对象。对象引用如下:
public class Person{
  public int age;
  public String name;
  public void info(){
    System.out.println("age"+ age + "name" + name);
  }
}
public static void main(String args[]){
     //数组变量
     Person[] p;
     //动态初始化
     p = new Person[2];
     System.out.println(p.length);

     Person zhang = new Person();
     zhang.age = 18;
     zhang.name = "zhangsan";
     Person li = new Person();
     li.age = 20;
     li.name = "lisi";  

     p[0] = zhang;
     p[1] = li;
    
     li.info();
     p[1].info();
}
  • 多维数组
    没有多维数组,所谓多维数组其实只是数组元素依然是数组的1维数组。
    多维数组代码如下:
public static void main(String args[]){
    int[][] a;
    a = new int[4][];
    for(int i = 0; i< a.length;i++){
        System.out.println(a[i]);
    }
    a[0] = new int[2];
    a[0][1] = 6;
    for(int i = 0; i< a[0].length;i++){
        System.out.println(a[0][i]);
    }
}

你可能感兴趣的:(Java数组的一些知识)