Java数组

数组是Java中非常重要的一种的数据结构,那么什么是数组?

简单的可以这样理解,就是一些数组成在一起,严格的定义是:相同类型数据的有序集合。

java中如何声明数组呢?

1.数据的声明

格式:

dataType[] arrayRefVar;

或
dataType arrayRefVar[];//不推荐

通常情况下 ,我们使用dataType[] arrayRefVar;来声明一个数据,而不用dataType arrayRefVar[];来声明数组,arrayRefVar[];是C/C++的语法结构,是早期Java为了让C/C++程序员能够快速理解而设计。

示例:

 

int[] num;  //首选方法int num[]; //不推荐

 

2.数组的创建

Java语言使用new操作符来创建数组。

语法:

arrayRefVar = new dataType[arraySize]

示例:

nums = new int[10];

这样就创建了一个10个元素的 整型数组nums,通常我们把数组的声明和创建合并成一条语句

int[] nums = new int[10];

通过下标来访问数组的元素,数组的下标从0~arraySize-1,我们可以通过length来获取数组的大小,nums.length来得到数组的大小。

3.数组的初始化

数组的初始化一般分为静态初始化和动态初始化:

1)静态初始化:直接给数组中每个元素赋值

int[] nums = {1, 5, 12, 8, 3, 9};

2)动态初始化:默认的数组中的元素为0

int[] nums = new int[10];

4.数组的操作和处理

对数组的处理我们通常用for基本循环或for-each循环处理

示例:打印数组的元素。

public class Array01 {
    public static void main(String[] args) {
        //静态初始化数组
        int[] array1 = {2, 3, 5, 8, 10, 33, 3, 9};
        //动态初始化数组 new,默认为0
        int[] array2 = new int[8];
        //数组输出
        for (int i=0; i<array1.length; i++){
            System.out.print(array1[i]+"\t");
        }
        System.out.println();
        for (int x:array2){
            System.out.print(x+"\t");
        }

    }
}

这里我们定义了2个数组array1和array2,分别通过for循环和for-each循环打印输出数组。

 

 

5.多维数组

多为数组可以理解为数组的数组,一般情况下 我们用到二维数组就够了。

二维数组可以看成特殊的一维数组,其每个元素都是一维数组,

语法格式:

type[][] typeName = new type[typeLength1][typeLength2];

type 可以为基本数据类型和复合数据类型,arraylength1 和 arraylength2 必须为正整数,arraylength1 为行数,arraylength2 为列数。

示例:

int[][] array = {{1,2,3},{4,5,6},{7,8,9}};

这个数组可以看成是3行3列,其中

int[0][0] = 1;

int[0][1] = 2;

int[0][2] = 3;

……

 

6.数组作为方法的参数和返回值

示例:

public class Array04 {
    public static void main(String[] args) {
        int[]  nums = {3, 4, 5, 8, 9 ,10};
        Array04 array04 = new Array04();
        array04.printArray(nums);
    }

    public void printArray(int[] array){
        for (int x:array) {
            System.out.print(x+"\t");
        }
    }

}

以上示例,数组作为方法的参数,运行结果:

 

 

 

 

posted @ 2020-11-04 10:46  Danny·茄子  阅读(124)  评论(0)    收藏  举报