Java 入门教程-4
1. 数组的声明
两种写法等价:
1 | |
2. 数组的初始化
2.1 静态初始化
创建数组的同时给元素赋值,长度由系统根据元素个数自动推断:
1 | |
注意:new int[]{1,2,3} 方括号内不能写数字,不能写成 new int[3]{1,2,3}(会编译报错)。
2.2 动态初始化
只指定长度,不写元素。元素会取该类型的默认值:
- 整数类型默认
0,小数类型默认0.0 - 字符类型默认
'\u0000',布尔类型默认false - 引用类型(如 String)默认
null
1 | |
动态初始化后再逐个赋值:
1 | |
3. 数组的访问
通过 数组名[下标] 访问元素,下标范围是 0 ~ length-1。数组对象有属性 length 表示元素个数。
1 | |
越界访问会抛异常 ArrayIndexOutOfBoundsException。
4. 数组的遍历
遍历就是“把每个元素都访问一遍”。常用 for 循环,下标从 0 到 length-1:
1 | |
也可以使用增强 for(foreach),写法更简洁,但拿不到下标:
1 | |
5. 二维数组
二维数组是“数组的数组”,适合表示表格、矩阵。
声明并动态初始化:3 行 4 列,元素默认 0:
1 | |
静态初始化:
1 | |
访问与遍历(外层行、内层列):
1 | |
6. 数组工具类 Arrays
java.util.Arrays 提供了许多现成的数组方法,使用前需要 import java.util.Arrays;。
| 方法 | 作用 |
|---|---|
Arrays.toString(arr) |
把数组内容转成易读的字符串 |
Arrays.sort(arr) |
升序排序 |
Arrays.binarySearch(arr, key) |
二分查找(要求数组已排序),返回下标,找不到返回负数 |
Arrays.copyOf(arr, 新长度) |
复制数组(可扩展/截断长度) |
Arrays.fill(arr, 值) |
用指定值填充数组 |
Java 入门教程-4
https://flowerdown.org/posts/20230827-151236