Java数组
定义:数组是具有相同数据类型的一组数据的集合。数组根据维数的不同分为一维数组、二维数组和多维数组。数组是引用类型。
-
创建数组并分配内存:在使用数组之前,必须首先定义数组变量所属的类型。
声明数组:
数组元素类型[] 数组名字
或数组元素类型 数组名字[]
分配内存:
数组名字 = new 数组元素类型[数组元素的个数]
注:声明数组和分配内存可以写在一起。
- 数组元素类型:决定了数组的数据类型,可以是Java中任意的数据类型,包括基本数据类型和非基本数据类型。
- []:指明该变量是一个数组类型变量,单个[]表示要创建的是一维数组。
-
new
:对数组分配空间的关键字(使用new
关键字为数组分配内存时,数组中各个元素的初始化为默认值)。 - 数组元素的个数:数组创建后大小不可改变
int[] month = new int[12];//创建了一个数组长度为12的int型数组
-
初始化数组:数组的初始化可分别初始化数组中的每个元素,有两种方式:
int[] arr = new int[]{1,2,3,4}; int[] arr2 = {4,5,6,7}; //编译器会自动推算数组大小
-
使用索引(下标)访问数组元素,
.length()
可以获得数组长度:arr2[0] = 23; System.out.println(arr2[0]);//23 System.out.println(arr2[1]);//5 System.out.println(arr.length);//4
-
数组是引用类型。
int[] arr3 = arr; //arr3和arr指向了同一个数组,当对arr3进行修改时,arr的值也会发生改变 arr[0] = 999; System.out.println(arr3[0]);//999
-
Arrays.toString()
快速打印数组内容//直接打印数组变量,得到的是数组在JVM中的引用地址 String[] fruits = {"apple", "banana", "strawberry"}; System.out.println(fruits);//[Ljava.lang.String;@61bbe9ba //使用Arrays.toString() System.out.println(Arrays.toString(fruits));//[apple, banana, strawberry]
-
遍历数组
-
for( ; ; )
循环通过下标遍历数组 -
for each
循环直接迭代每个数组元素,无法直接访问索引
public class Test { public static void main(String[] args) { //for each循环遍历数组 String[] weekdays = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}; for (String weekday : weekdays) { System.out.println(weekday); } //for循环遍历数组 int[] scores = {89, 88, 93, 80, 96}; for (int i = 0; i < scores.length; i++) { System.out.println(scores[i]); } } }
-