Java基础之数组

2019-08-09  本文已影响0人  泡泡之意境

数组是什么:
数组是一种数据结构,用来存储同一数据类型的集合。通过一个整型下标可以访问数组中的每一个值。
声明格式:数据类型[] 数据变量名称,例如:int[] a或者int a[];
一维数组:
动态初始化:

   private void invoke(){
        int[] array1=new int[3];
        System.out.println("length====="+array1.length);
        array1[0]=1;
        array1[1]=2;
        array1[2]=3;
    }
 System.out: array1.length=====3

静态初始化:

public void invoke(){
        int[] array2=new int[]{1,2,2,4,3};
        System.out.println("array1.length====="+array2.length);
        for (int i = 0; i < array2.length; i++) {
            System.out.println("array2["+i+"]===="+array2[I]);
        }
System.out: array1.length=====5
System.out: array2[0]====1
System.out: array2[1]====2
System.out: array2[2]====2
System.out: array2[3]====4
System.out: array2[4]====3

匿名数组初始化:

 public void invoke(){
        System.out.println("======="+new int[]{1,3,4}.length);
}

如果数组为空或者访问超出数组的长度会报异常:

  public void invoke(){
        int[] array3=null;
        System.out.println("array==="+array3.length);//空指针异常
    }
Caused by: java.lang.NullPointerException: Attempt to get length of null array
     public void invoke(){
        int[] array1=new int[3];
        System.out.println("array1.length====="+array1.length);
        array1[0]=1;
        array1[1]=2;
        array1[2]=3;
        System.out.println("array==="+array1[3]);//数组越界
}
 Caused by: java.lang.ArrayIndexOutOfBoundsException: length=3; index=3

多维数组:多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。动态初始化和静态初始化同一维数组。

  public void invoke(){
        //二维数组
        int[][] array=new int[][]{{1,3},{3,4,2}};
        //打印数组内容
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println("==="+array[i][j]);
            }
        }
    }
System.out: ===1
System.out: ===3
System.out: ===3
System.out: ===4
System.out: ===2

数组排序:可以使用Arrays类中的sort方法进行排序,这个方法采用了优化的快速排序算法对数组进行了排序。

  public void invoke(){
        int[] array1=new int[4];
        array1[0]=1;
        array1[1]=4;
        array1[2]=3;
        array1[3]=2;

        for (int i = 0; i < array1.length; i++) {
            System.out.println("sort前==="+array1[I]);
        }
        Arrays.sort(array1);
        for (int i = 0; i < array1.length; i++) {
            System.out.println("sort后==="+array1[I]);
        }
}
System.out: sort前===1
System.out: sort前===4
System.out: sort前===3
System.out: sort前===2

System.out: sort后===1
System.out: sort后===2
System.out: sort后===3
System.out: sort后===4

总结:此篇记录巩固下Java 基础数组相关的内容,哪里有问题或者有关于数组相关的问题,欢迎大家指出和在评论区评论,可以一起讨论解决,一起成长进步。

上一篇 下一篇

猜你喜欢

热点阅读