一、数组
数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。
(一)、初始化
- 动态初始化
(1)数据类型[] 数组名 = new 数据类型[数组大小];
(2)
第一步(声明):数据类型[] 数组名 / 数据类型 数组名[];
第二步(分配空间):数组名 = new 数据类型[数组大小];
//创建长度为5的数组
//方法一:
int[] nums1 = new int[5];
//方法二:
int nums2[];
nums2 = new int[5];
- 静态初始化
数据类型[] 数组名 = new 数据类型[]{元素值, 元素值…};
int[] nums3 = new int[]{1, 2, 3};
(二)、数组赋值与拷贝
- 数组赋值:数组在默认下是引用传递,赋的是地址。
- 拷贝:数组传的是值,地址不同。
//1.数组赋值
//arr2的变化会引起arr1的变化
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;//arr2与arr1的地址相同
arr2[0] = 10;
System.out.println(arr1[0]);//arr1变成了{10, 2, 3}
//2.数组拷贝
//arr4的变化不会引起arr3的变化
int[] arr3 = {1, 2, 3};
int[] arr4 = new int[arr3.length];//arr4开辟新的地址
for(int i = 0; i < arr3.length; i++){
arr4[i] = arr3[i];//完成拷贝
}
(三)、常用方法
- length:数组长度
char[] chars = new char[26];
for( int i = 0; i < chars.length; i++){
chars[i] = (char)('A' + i);//'A' + i 是int,需要强转
}
说明
定义一个长度为n的数组,数组元素为a[0], a[1] …a[n-1],注意数组元素a[n]越界不存在。
二、二维数组
(一)、初始化
- 动态初始化
(1)数据类型[][] 数组名 = new 数据类型[大小][大小];
(2)
第一步:数据类型[][] 数组名;
第二步:数组名 = new 数据类型[大小][大小];
(3)列数不确定
数据类型[][] 数组名 = new 数据类型[大小][];
数组名[行下标] = new 数据类型[列大小];
//方法一: 表示3行4列的二维数组
int[][] nums1 = new int[3][4];
//方法二: 表示3行4列的二维数组
int[][] nums2;
nums2 = new int[3][4];
//方法三:
int[][] nums3 = new int[3][];
nums3[0] = new int[3];
nums3[1] = new int[2];
nums3[2] = new int[3];
/* 数组形式
0 0 0
0 0
0 0 0
*/
- 静态初始化
数据类型[][] 数组名 = {{值1,值2…},{值1,值2…},{值1,值2…}};
int[][] nums = {{1,2,3},{4,5},{6,7}};
/*
1 2 3
4 5
6 7
*/
(二)、遍历
//遍历
for(int i = 0; i < nums.length; i++){
for(int j = 0; j < nums[i].length; j++){
System.out.print(nums[i][j] + " ");
}
System.out.println();
}
说明
二维数组的声明方式有3种:(1)int[][] nums;(2)int[] nums[];(3)int nums[][];
特别说明
本文章是个人整理的学习笔记,参考b站韩顺平老师的课程(【零基础 快速学Java】韩顺平 零基础30天学会Java)。老师讲的非常好,有兴趣的可以去看一下。