学习笔记——数组

数组

数组概述

一次性声明大量的用于存储数据的变量
要存储的数据通常都是同类型数据,例如:身高,体重等

什么是数组?

  • 数组(array)是一种用于存储多个相同类型元素的数据结构。
  • 它是一个连续的、固定大小的数据容器,可以存储基本类型(如整数、字符等)或其他对象。

数组的定义格式

①数据类型[ ] 变量名

范例: int[ ] arr
定义了一个int类型的数组,数组名是arr

②数据类型 变量名[ ]

范例:int arr[ ]
定义了一个int类型的变量,变量名是arr数组

一般使用第一种进行定义

在Java中,数组的声明和初始化类似于其他变量,但需要指定数组的类型和长度。以下是一个示例:

// 声明一个整数数组
int[] myArray;
// 初始化数组并分配内存空间
myArray = new int[5];

// 或者声明并初始化数组同时进行内存分配
int[] myArray = new int[5];

// 直接初始化数组,并自动分配内存空间
int[] myArray = {1, 2, 3, 4, 5};

数组的访问

数组元素的访问
  • 数组变量访问方式

  • 格式:数组名

  • 数组内部保存的数据的访问方式

  • 格式:数组名[索引]

索引是什么?

是数组中数据的编号方式

作用是什么?

访问数组中的数据使用,数据名[索引]等同于变量名,是一种特殊的变量名。

特征

①从0开始
②是连续的
③逐一增加,每次加1

要访问数组中的元素,可以使用索引(从0开始)来引用特定位置的元素。例如:

int[] myArray = {1, 2, 3, 4, 5};
System.out.println(myArray[0]);
// 输出:1
System.out.println(myArray[2]);
// 输出:3

数组还提供了一些方便的方法和属性来处理数据,比如获取数组长度 myArray.length,遍历数组等。
注意,在Java中,数组的大小是固定的,一旦分配了内存空间,就无法更改数组的长度。如果需要动态调整容量,可以使用ArrayList等动态数据结构。

数组初始化

静态初始化

初始化时指定每个数组元素的初始值,由系统决定数组长度

  • 格式:数据类型[ ] 变量名=new 数据类型[ ]{数据1,数据2,数据3,…};
  • 范例: int[ ] arr=new int[ ]{1,2,3}; //右边的int[ ]中[ ]不能写什么数字
    简化格式:数据类型[ ] 变量名={数据1,数据2,数据3,…};
    范例:int[ ] arr={1,2,3};

数组中常见的问题

索引越界

访问了数组中不存在的索引对应的元素,造成索引越界问题。

举个栗子

int[] arr=new int[3];
//输出元素
System.out.println(arr[3]);

此时索引3不存在,将会引起ArrayIndexOutOfBoundsException异常。

空指针异常

访问的数组已经不再指向堆内存的数据

举个栗子

int[] arr=new int[3];
System.out.println(arr[3]);
//把null赋值给数组
arr=null;
//输出元素
System.out.println(arr[0]);

此时地址变为null,没有指向int[3]的数组,将会引起NullpointerException异常。

数组常见操作

遍历
为什么要遍历呢?

举个栗子

int[] arr={11,22,33,44,55};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
//通过for循环实现获取数据,索引0-4
for(int x=0;x<5;x++){
System.out.println(arr[x]);
}

由图可见
遍历数组是可以减少代码,轻松便捷

获取数组元素数量
  • 格式:数组名.length
  • 范例:arr.length

举个栗子

int[] arr={......};
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}

这样可以获取数组元素的数量,也是遍历的通用格式。

获取最值

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值