1. 概述
和Python中一样, Java中也是有用来同时存储多个同类型元素的容器的, 那就是: 数组.
2. 格式
•动态初始化: 我们给定长度, 由系统给出默认初始化值.
格式1 数据类型[] 数组名 = new 数据类型[长度];
格式2 数据类型 数组名[] = new 数据类型[长度];
解释: 上述两种定义方式只是写法不同, 并无其他区别.
•静态初始化: 我们给定初始化值, 由系统指定长度.
格式1 数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3};
格式2 数据类型[] 数组名 = {元素1, 元素2, 元素3};
解释: 上述两种定义方式只是写法不同, 并无其他区别.
3. 示例: 定义数组
需求
1.创建int类型的数组, 用来存储3个元素.
2.创建int类型的数组, 存储数据11, 22, 33.
参考代码
public class ArrayDemo01 {
public static void main(String[] args) {
//1. 创建int类型的数组, 用来存储3个元素.
//我们制定长度, 由系统给出默认值.
//格式一:
int[] arr1 = new int[3]; //推荐.
//格式二:
int arr2[] = new int[3];
//2. 创建int类型的数组, 存储数据`11, 22, 33`.
//我们直接传入元素, 由系统指定长度.
//格式1
int[] arr3 = new int[]{11, 22, 33};
//格式2
int[] arr4 = {11, 22, 33}; //推荐.
}
}
4. 数组各部分解释
此处以动态初始化举例:
数据类型[] 数组名 = new 数据类型[长度];
//例如:
int[] arr = new int[3];
解释:
•数据类型: 指的是数组中存储元素的数据类型
例如: 如果是int, 说明数组中只能存储int类型的数据, 如果是String, 则说明数组中只能存储字符串.
•[]: 表示是一个数组.
•数组名: 类似于之前定义的变量名, 要符合命名规范, 我们可以通过数组名来操作数组.
•new: 它是一个关键字, 表示用来创建数组对象的.
5. 数组的特点及基本用法
5.1 特点
1.数组中的每个元素都是有编号的, 且编号是从0开始的. 可以方便我们快速操作数组中的元素.
解释: 编号也叫索引(这个是最常见的念法), 下标, 角标. index
2.数组中每个元素都有默认值.
例如:
1.int类型数组, 元素默认值是: 0
2.double类型的数组, 元素默认值是: 0.0
3.boolean类型的数组, 元素默认值是: false
4.String类型的数组, 元素默认值是: null
5.2 基本用法
1.通过数组名[索引]的形式, 可以快速获取数组中的指定元素.
//格式
数组名[索引]
//例如:
int[] arr = {11, 22, 33};
System.out.println(arr[0]); //打印结果是: 11
2.通过数组名[索引] = 值;的方式, 可以修改数组中的指定元素值.
//格式
数组名[索引] = 值;
//例如:
int[] arr = {11, 22, 33};
System.out.println(arr[1]); //打印结果是: 22
arr[1] = 222;
System.out.println(arr[1]); //打印结果是: 222
3.通过数组名.length的方式, 可以获取数组的长度.
//格式
数组名.length
//例如:
int[] arr = {11, 22, 33};
System.out.println(arr.length); //打印结果是: 3
5.3 示例: 数组的基本用法
需求
1.定义一个长度为5的int类型的数组.
2.打印数组中的第3个元素.
3.设置数组中的第一个元素值为11.
4.获取数组中的第一个元素值, 并将其赋值给变量a, 然后打印.
5.打印数组的长度.
参考代码
public class ArrayDemo02 {
public static void main(String[] args) {
//1. 定义一个长度为5的int类型的数组.
int[] arr = new int[5];
//2. 打印数组中的第3个元素.
System.out.println(arr[2]);
//3. 设置数组中的第一个元素值为11.
arr[0] = 11;
//4. 获取数组中的第一个元素值, 并将其赋值给变量a, 然后打印.
int a = arr[0];
System.out.println(a);
//5. 打印数组的长度.
System.out.println(arr.length);
}
}