【数组、一维数组、二维数组】第三期

本章对于Java数组的总结

目录

本章对于Java数组的总结

1.数组:

2.一维数组的声明和创建

2.1一维数组的静态初始化:

2.1.1数组的引用:

2.2一维数组的动态初始化:

2.3数组的几个注意事项:

3.数组的遍历:

 3.1 for each遍历数组

4.数组的总结:

4.1数组的基本操作?

4.2 两种数组定义时的特点和场景有什么区别?

5.数组使用常见问题:

6.二维数组:

6.1访问二维数组的元素:

6.2二维数组的长度:

6.3二维数组的遍历(两重for循环):

7.数组工具类Arrays:

7.1Arrays.equals()方法

7.2Arrays.toString()方法:

7.3Arrays.sort()方法:

7.4Arrays.binarySearch()方法:

7.5Arrays.fill()方法:


1.数组:

定义:数组是固定个数相同类型的元素集合,有顺序可重复

数组的四大要素:数组的数据类型,数组的长度,数组的数组名,数组的下标。

数组的特点:

  • 数组是有序排列的
  • 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
  • 创建数组对象会在内存中开辟一整块连续的空间
  • 数组的长度一旦确定,就不能修改。

2.一维数组的声明和创建

2.1一维数组的静态初始化:

定义数组(为数组的数组元素分配内存空间)的时候直接给数组赋初始值。

Java 语言中数组必须先初始化,然后才可以使用。

格式:

注意:数组变量名中存储的是数组在内存中的地址,数组是引用数据类型。

2.1.1数组的引用:

通过下标来引用/调用数组。

或者说数组中元素的访问方式为:数组名称[索引]

数组的长度属性是:length。length是属性,不是方法。

下标为0表示获取第一个元素,下标为length-1 表示获取最后一个元素。

问题:数组的最大索引可以怎么表示?  

答:数组名. length – 1 // 前提:元素个数大于0

2.2一维数组的动态初始化:

定义:定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。

格式:

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

// 动态初始化和数组元素的赋值操作分开进行

int[] arr = new int[3];

2.3数组的几个注意事项:

  • 什么类型的数组存放什么类型的数据,否则报错。

  • 数组的大小一旦指定,就不可更改。
  • 数组一旦定义出来,程序执行的过程中,长度、类型就固定了。
  • 数组创建后,有默认值(与变量的区别)。
  • 若JAVA中数组元素没有初始化,会给定一个默认的初始值。

3.数组的遍历:

定义:就是一个一个数据的访问。也叫轮询。

 3.1 for each遍历数组

        java5之后,Java提供了一种更简洁的循环:foreach循环,这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索(下标)引来访问数组元素,foreach循环自动遍历数组和集合的每一个元素。

格式:

for (数据类型 变量名 : 遍历对象数组名){
     循环语句;
}

4.数组的总结:

4.1数组的基本操作?

获取元素: 元素类型 变量 = 数组名[index];

设置元素: 数组名[index] = 值;

遍历数组元素: 建议使用for循环,事先知道循环的次数.

数组长度: int len = 数组名.length;

索引范围: 从0开始,逐一递增. [0,数组名.length-1]

4.2 两种数组定义时的特点和场景有什么区别?

  • 当前已经知道存入的元素值,用静态初始化。
  • 当前还不清楚要存入哪些数据,用动态初始化。    

5.数组使用常见问题:

问题1:如果访问的元素位置超过最大索引,执行时会出现ArrayIndexOutOfBoundsException(数组索引越界异常)

问题2:如果数组变量中没有存储数组的地址,而是null, 在访问数组信息时会出现NullPointerException(空指针异常)

6.二维数组:

定义:“数组的数组”,二维数组的每一个元素是一个一维数组。

格式:

6.1访问二维数组的元素:

6.2二维数组的长度:

6.3二维数组的遍历(两重for循环):

7.数组工具类Arrays:

7.1Arrays.equals()方法

用来比较两个数组,如果相同输出true,如果不同输出false。

7.2Arrays.toString()方法:

用来输出数组的字符串表现形式(打印数组)

7.3Arrays.sort()方法:

表示对一个数组进行排序,默认升序排列,更新后的数组保存到原数组中

7.4Arrays.binarySearch()方法:

表示在数组中查找元素,输出元素的索引值
注意!!! 该方法是使用 二分法查找,只支持有序的数组,否则结果不正确。

7.5Arrays.fill()方法:

用来填充数组中的值,fromIndex和toIndex可不填,不填时默认所有位置都填value的值
fromIndex,toIndex是要更新的元素的索引值,且[fromIndex toIndex) //from<=i<to

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

KK在编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值