数组的理解

216 阅读2分钟

java基础巩固:数组的基本理解

概述

在java中,数组是计算机分配的一段连续的内存空间,被用来存储多个同种类型的数据

  • 数组长度:数组能够存放数据的个数,从1开始,获取方式 数组名.length
  • 数组索引:用来存取数据的,标记数组中元素的位置,从0开始
  • 数组元素:数组存储的数据

数组分类

在java中数组分为一维数组和二维数组

  • 一维数组:就是我们平时使用的普通数组
  • 二维数组:二维数组本质上是以数组作为元素的数组,即“数组的数组”

声明数组的方式

一维数组声明

动态创建

数据类型[] 数组名 = new 数据类型[长度];

int[] arr = new int[10];

静态创建:

数据类型[] 数组名 = {值1,值2,值3};

int[] arr = {1,2,3,4};

二维数组声明

动态创建

数据类型[][] 数组名 = new 数据类型[外层数组的长度] [元素数组的长度];

int[][] arr = new int[2][3];

静态创建:

数据类型[][] 数组名 = {数组1,数组2,数组3};

int[][] arr = {{1,2},{3,4},{5,6}};

数组遍历

一维数组遍历

for循环遍历

int[] arr = {1,2,3};
for(int i=0;i<arr.length;i++){
    System.out.println(arr[i]);
}

或者使用foreach循环遍历

for (int i:arr) {
    System.out.println(i);
}

二维数组遍历

for循环遍历

int[][] arr = {{1,2},{3,4},{5,6}};
for(int i=0;i<arr.length;i++){
    for (int j = 0; j < arr[i].length; j++) {
        System.out.println(arr[i][j]);
    }
}

或者使用foreach循环遍历

int[][] arr = {{1,2},{3,4},{5,6}};
for (int[] i:arr) {
	//i表示元素数组
    for (int j:i) {
        System.out.println(j);
    }
}

可变参数(本质也是数组)

  • 可变参数在java中本质也是数组,也可以进行遍历
  • 可以接受数目不定的多个参数,也可直接接收数组
  • 可变参数只能放在参数列表末尾且只能有一个

语法:

数据类型...参数名

示例:

public class TestDemo {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        printArr("普通参数",arr);
    }
    
    public static void printArr(String a,int...arr){
        System.out.println(a);
        for (int i:arr) {
            System.out.println(i);
        }
    }
 }

注意事项

  • 数组的长度一旦确定不能更改

  • 数组中的元素有默认值和数据类型相关

  • 数组中,如果对数组的某个索引位置进行赋值的时候会覆盖原来的值