Java基础-7数组

Posted ITRocky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础-7数组相关的知识,希望对你有一定的参考价值。

一)、什么是数组:

  数组是一组具有相同类型和名称的变量集合,把一系列相同类型的数据保存在一起,这些变量称为数组的元素;每个元素都有一个编号,这个编号叫做下标,下标从 0 开始;元素的个数被称为数组的长度,数组数一种复合数据类型。

  数组的特点是其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。这一点也是数组的缺点;可以存放重复的元素。

二)、数组定义和初始化:

  数组定义完成后必须经过初始化才可以使用,初始化数组的方式可以分为两种,静态初始化和动态初始化;

  静态初始化: 数据类型[] 数组名 ={元素1,元素2……};

  动态初始化:数据类型[] 数组名= new 数据类型[数组长度]; 或 数据类型[] 数组名 =new 数据类型[]{元素1,元素2……};

  静态初始化中 声明并直接赋值,创建内存空间。

  第一种动态初始化中 声明并创建内存空间,等待赋值。第二种动态初始化中 声明并创建内存空间,并赋值。

三)、多维数组:

  Java中数组分为一维数组和多维数组,多维中每行的元素个数不同,即每行的列数可以不同。已二维数组举例

  二维数组声明与初始化:

    数组元素类型 数组名[][] = {{行数,列数},{行数,列数},,……};  示例: int temp [ ] [ ] = {{1,2},{2,3},{3,4,5}};

    数组元素类型 数组名[][] = new 数组元素类型[行数][列数];  示例: int[][] temp; temp=new int[3][] ;

    数组元素类型[][] 数组名 = new 数组元素类型[行数][列数];  示例: int[][]  temp{{1,2},{3,4}};

  二维数组的初始化也分为静态和动态两大种

  静态初始化:在定义数组的同时为数组分配空间。不必指出数组每一维的大小,系统会根据初始化时给出的初始值个数自动算出每一维的大小。

  动态初始化:对高维数组来说,分配内存空间有以下两种方法。

    数组元素类型 数组名[][] = new 数组元素类型[行数][列数];

    数组元素类型[][] 数组名] = new 数组元素类型[行数][列数];

技术分享图片
//一维数组遍历
int[] arr =new int[]{1,2,3,4,5,6};
        int l=arr.length-1; 
        for(int a=0;a<=l;a++) {
            System.out.println(arr[a]);
        }
View Code

遍历数组时用到 length 关键字来取到数组的长度,然后利用for循环下标将数组全部输出

技术分享图片
        int[][] arr= {{1,1},{2,2},{3,3}}; 
        for(int a=0;a<=arr.length-1;a++) {
            System.out.println("数组"+arr[a]);
            for(int b=0;b<=arr[a].length-1;b++) {
                System.out.println("数组输出"+arr[a][b]);
            }
        }
View Code

 给数组赋值:

一维数组

技术分享图片
        int[] arr= new int[5];
        for(int a=0;a<=arr.length-1;a++) {
            arr[a]=a;
            System.out.print(arr[a]+" ");
        }
结果:
0 1 2 3 4 
View Code

二维数组

技术分享图片
        int[][] arr=new int[3][];
        arr[0]=new int[1];
        arr[1]=new int[2];
        arr[2]=new int[3];
        for(int a=0;a<=arr.length-1;a++) {
            for(int b=0;b<=arr[a].length-1;b++) {
                arr[a][b]=b;
                System.out.print(arr[a][b]+" ");
            }
            System.out.println(" ");
        }

结果:
0  
0 1  
0 1 2  
View Code

 

以上是关于Java基础-7数组的主要内容,如果未能解决你的问题,请参考以下文章

java基础7-数组

Java基础-7数组

整理笔记--Java基础(数组)

以下代码片段的时间复杂度是多少?

JAVA实现数组的反转--基础

java基础 数组14