Java SE——数组

 前言

本博客文章已收录至专栏Java SE,阅读其他有关博客笔记请转至该专栏下查阅

传送门 -->程序员雨空集_Java SE专栏


概念

指的是一种容器,可以同来存储同种数据类型的多个值


数组定义

格式 1:

数据类型 [] 数组名
比如:int [] array

格式 2:

数据类型  数组名 []
比如: int array []

数据类型:限定了数组以后能存什么类型的数据

方括号:表示现在定义的是一个数组

数组名:就是一个名字而已,方便以后使用


数组静态初始化

定义数组的同时就为数组的每个元素赋值(静态初始化,定死了,不能动)

格式 1:

new:给数组在内存中开辟了一个空间

类型 [] 数组名 = new 类型 [] {元素,元素,...};

int[] arr = new int[]{11,22,33};

格式 2(简化格式):

类型 [] 数组名 = {元素,元素,...};

int[] arr = {11,22,33};

注意:

  • 等号前后的数据类型必须保持一致
  • 数组一旦创建之后,长度不能发生变化

数组动态初始化

在定义数组时只指定数组长度,由系统自动为元素赋初值

格式:

数据类型[] 数组名 = new 数据类型[数组的长度];
定义一个数组,存3个人的年龄,年龄未知
int[] agesArr = new int[3];

数组的默认初始值:

整数类型:0

小数类型:0.0

布尔类型:false

字符类型:'\u0000',即一个空字符

引用类型:null


地址值与索引

地址值

int[] arr = {1,2,3,4,5};
 System.out.println(arr);//[I@6d03e736
 
 double[] arr2 = {1.1,2.2,3.3};
 System.out.println(arr2);//[D@568db2f2

打印数组的时候,实际出现的是数组的地址值。

数组的地址值:就表示数组在内存中的位置。

以[I@6d03e736为例:

[ :表示现在打印的是一个数组。

I:表示现在打印的数组是int类型的。

@:仅仅是一个间隔符号而已。

6d03e736:就是数组在内存中真正的地址值。(十六进制的)

但是,我们习惯性会把[I@6d03e736这个整体称之为数组的地址值。

地址值对于我们来京,作用不大,简单了解即可

索引

也叫下标,数组的索引是用来访问数组中特定元素的位置

数组的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,依此类推+1

例如,如果有一个整数数组 int[] numbers = {10, 20, 30, 40, 50};,我们可以使用索引来访问数组中的元素:

int firstNumber = numbers[0]; // 访问第一个元素,值为10
int secondNumber = numbers[1]; // 访问第二个元素,值为20
int thirdNumber = numbers[2]; // 访问第三个元素,值为30

在上述代码中,numbers[0] 表示数组 numbers 的第一个元素,即索引为0的元素。同样地,numbers[1] 表示数组的第二个元素,即索引为1的元素。

需要注意的是,数组的索引不能超出数组的范围,否则会导致数组越界异常。例如,如果数组长度为5,那么有效的索引范围是0到4。如果尝试访问索引为5的元素,将会抛出 ArrayIndexOutOfBoundsException 异常

此外,可以使用索引来修改数组中的元素的值。例如,numbers[0] = 100; 将数组的第一个元素的值修改为100


数组常见操作

数组元素访问

格式:

数组名[索引];

用法:

  • 获取数组中对应索引上的值
  • 修改数组中对应索引上的值一旦修改之后,原来的值就会被覆盖了

示例:

public class ArrayAccessExample {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        // 访问数组中的元素
        int firstNumber = numbers[0];
        System.out.println("第一个元素的值:" + firstNumber);

        int thirdNumber = numbers[2];
        System.out.println("第三个元素的值:" + thirdNumber);

        // 修改数组中的元素
        numbers[1] = 200;
        System.out.println("修改后的第二个元素的值:" + numbers[1]);

        numbers[3] = numbers[3] + 10;
        System.out.println("修改后的第四个元素的值:" + numbers[3]);
    }
}

创建了一个整数数组 numbers,并初始化了一些初始值。然后,我们使用索引来访问数组中的元素,并将其打印出来。接着,我们修改了数组中的两个元素,分别将第二个元素的值修改为200,将第四个元素的值增加了10。最后,我们再次使用索引访问修改后的元素,并将其打印出来。

输出结果如下:

第一个元素的值:10
第三个元素的值:30
修改后的第二个元素的值:200
修改后的第四个元素的值:50

数组的遍历

遍历:数组里面所有的内容依次一个一个全部输出或者说出来

数组的长度:数组名.length;

示例:

for(int i = 0; i < arr.length; i++){
    //在循环的过程中,i依次表示数组中的每一个索引
    sout(arr[i]);
}
public class Main {
    public static void main(String[] args) {
       int [] aee  = {1,2,3,4,5,6,7,8,9};
        for (int i = 0; i < aee.length; i++) {
            System.out.print(aee[i]);
        }
    }
}


二维数组

即数组的元素是一个数组,数组的数组,即为二维数组

定义方式 1:

动态初始化,行列个数已经确定,再后续对数组元素进行赋值修改

数据类型 [] [] 数组名 = new [行个数] [列个数];
int[][] matrix = new int[3][3];
matrix[0][0] = 1;
matrix[0][1] = 2;

定义方式 2:

使用静态初始化:

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

定义方式 3:

只定义行个数

数据类型 [] [] 数组名 = new 数据类型 [行个数] [];
int[][] matrix = new int[3][];

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

多维数组

就是数组的数组的数组

定义、访问方法与一维、二维数组方法一样

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨空集

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值