Java基础之数组

数组是什么:
数组是一种数据结构,用来存储同一数据类型的集合。通过一个整型下标可以访问数组中的每一个值。
声明格式:数据类型[] 数据变量名称,例如: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 基础数组相关的内容,哪里有问题或者有关于数组相关的问题,欢迎大家指出和在评论区评论,可以一起讨论解决,一起成长进步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组的概念:JAVA语言中提供的数组是用来存储类型相同的一组元素,数组分为一维数组和多维数组 一维数组 声明数组 ...
    Tu_Feng阅读 754评论 0 0
  • 数组 定义数组 动态初始化 先声明数组,再分配内存给该数组 例如: ‘’‘ intarray...
    后来者2016阅读 213评论 1 0
  • (1)数组:存储同一种数据类型的多个元素的容器(注意和集合的区别 后面的总结之中有)。 (2)特点:每一个元素都有...
    糖宝_阅读 255评论 0 0
  • 《Java从小白到大牛》纸质版已经上架了!!! 在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有...
    tony关东升阅读 560评论 0 0
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,080评论 2 13