Java数组(简单易懂)

一、数组的概述

1、定义

数组(Array)是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理

2、数组相关概念

  • 数组名

  • 元素

  • 索引

  • 长度:元素的个数

3、数组的特点

数组是有序排列的

数组本身属于引用数据类型,但是数组的元素既可以是基本数据类型,也可以是引用数据类型

创建数组对象会在内存中开辟一整块连续的空间,而数组名引用的是这块连续空间的首地址

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

4、数组的分类

一般分为一维数组、二维数组。。。。。。

二、一维数组的使用

1、一维数组的声明和初始化

//静态初始化:数组的声明和数组元素赋值操作同时进行
int[] ids = new int[]{
    
    1001,1002,1003};
//动态初始化:数组的声明和数组元素赋值操作分开进行
String[] names = new String[3];

2、如何调用数组指定位置的元素

数组通过索引的方式调用指定位置元素,可以进行赋值或者查看操作。

数组的索引从 0 开始,到数组长度 - 1 为止

在使用索引时,我们经常会碰到数组越界异常,报错信息为 java.lang.ArrayIndexOutOfBoundsException

String[] names = new String[3];
names[0] = "jak";
names[1] = "ros";
names[2] = "jack";

name[3] = "tom";	//java.lang.ArrayIndexOutOfBoundsException

3、如何获得数组的长度

通过数组的属性 length

String name = new String[5];

name.length() 输出5

4、如何遍历数组

  • for循环遍历

    int[] ids = new int[10];
    
    for(int i = 0;i < ids.length;i++){
          
          
        System.out.println(ids[i]);
    }
    
  • 增强for循环遍历

    int[] ids = new int[10];
    
    for(int id : ids){
          
          
        System.out.println(id);
    }
    

5、数组元素的默认初始化值

默认初始化就是没有给数组显式的赋值,但是JVM会给数组的每个元素默认的赋初值

  • 数组元素是整型 0
  • 数组元素是浮点型 0.0
  • 数组元素是char型 0的ASCII值
  • 数组元素是Boolean型 false
  • 数组元素是引用数据类型 null

三、二维数组的使用

其实世界上本没有二维数组,只是一维数组的元素是一维数组,我们习惯称呼该一维数组为二维数组

1、二维数组的声明和初始化

//静态初始化
int[][] arr1 = new int[][]{
    
    {
    
    1,2,3},{
    
    2,3},{
    
    3,4,5}};
//动态初始化1
int[][] arr2 = new int[3][2];
//动态初始化2
int[][] arr3 = new int[3][];

2、如何调用数组指定位置的元素

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

arr[1][1];	//java.lang.NullPointerException 报错,空指针异常

3、获取数组长度

int[][] arr1 = new int[][]{
    
    {
    
    1,2,3},{
    
    2,3},{
    
    3,4,5}};

System.out.println(arr1.length);	//3
System.out.println(arr1[2].length);	//3
System.out.println(arr1[1].length);	//2

4、如何遍历数组

for(int i = 0;i < arr.length;i++){
    
    
    for(int j = 0;j < arr[i].length;j++){
    
    
        System.out.print(arr[i][j])
    }
    System.out.println();	//换行
}

5、数组元素的默认初始化值

首先我们规定几个概念

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

//外层元素
arr[1];
arr[2];
//内层元素
arr[1][1];
arr[1][2];

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

​ 外层元素的默认初始化值:地址值

​ 内层元素的默认初始化值:与一维数组初始化情况相同

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

​ 外层元素的默认初始化值:null

​ 内层元素的默认初始化值:不能调用,否则空指针异常

猜你喜欢

转载自blog.csdn.net/weixin_45321793/article/details/109435231