11_Java筑基之二维数组
1. 二维数组的概念
本质上还是一个一维数组,只是其数组元素又是一个一维数组.
举例说明:
变量,一维数组,二维数组之间的关系.
买烟的例子:
没钱: 一根烟 一个变量
稍微有钱 一包烟 一维数组
有钱 一条烟 【20根】
2. 二维数组的定义
方式一: 元素类型[][] 数组名称;
方式二: 元素类型 数组名称[][];
推荐使用方式一.
3. 数组的初始化
3.1 静态初始化
语法: 元素类型[][] 数组名称 = new 元素类型[][]{{一维数组1,一维数组2,一维数组3....};
简化: 元素类型[][] 数组名称 =m{{一维数组1,一维数组2,一维数组3....};
举例:
int[][] arr = new int[][]{{2,3},{5,2,1},{10,45,22,54}};
int[][] arr = {{2,3},{5,2,1},{10,45,22,54}};
3.2 动态初始化
语法: 元素类型[][] 数组名称 = new 元素类型[二维数组的长度][一维数组的长度];
举例:
int[][] arr = new int[3][4];
说明:
定义一个数组arr,二维数组中一维数组的个数为3个,每个一维数组中元素的个数为4个.
4. 二维数组的访问
4.1 通过下标访问二维的指定元素
class TwiceArrayDemo01{
public static void main(String[] args){
int[][] arr = new int[3][4];
System.out.println(arr);
System.out.println(arr.length);//3
System.out.println(arr[0]);
System.out.println(arr[0].length);//4
System.out.println(Arrays.toString(arr));
//[0, 0, 0, 0]
System.out.println(Arrays.toString(arr[0]));
}
}
4.2 遍历二维数组
//常见的操作:遍历二维数组
class TwiceArrayDemo02 {
public static void main(String[] args){
//如果二维数组中一维数组的元素个数不确定
//int[][] arr = new int[3][];
int[][] arr = new int[][]{{2,3},{5,2,1},{10,45,22,54}};
//遍历arr
for(int i = 0;i < arr.length;i++) {
System.out.println(arr[i]);
}
//赋值:给arr中的第1个元素修改值
arr[1] = new int[2];
//给arr[0]中的第0个元素修改值
arr[0][0] = 10;
//遍历arr[0]
for(int i = 0;i < arr[0].length;i++){
System.out.println(arr[0][i]);
}
//二维数组的遍历:嵌套for循环
//简单for循环
for(int i = 0;i < arr.length;i++) {
int[] subArr = arr[i];
for(int j=0;j{10,20,30},{40,50,60}};
int[][] nums2={{1,2},{3,4},{5,6}};
int[][] nums3=new int[3][2];
int[][] nums4=new int[2][];
}
关注
打赏
热门博文
- 异常解决及问题分析博客系列汇总
- SpringBoot2.x系列教程汇总-从入门到精通
- 跟一一哥学Java系列之从入门到精通教程汇总
- 高薪程序员&面试题精讲系列156之你还有什么要问的吗?你平时怎么学习?
- 高薪程序员&面试题精讲系列155之项目介绍,说说你最熟悉的项目,遇到了哪些困难?
- 高薪程序员&面试题精讲系列154之电商专题(下)-你做过秒杀吗?怎么设计秒杀?订单详情页有哪些要求?
- 高薪程序员&面试题精讲系列153之电商专题(中)-你的电商项目订单是如何设计的?支付流程你熟悉吗?金额是怎么设计的?
- 高薪程序员&面试题精讲系列152之电商专题(中)-SPU是怎么回事?SPU如何设计?SKU又是什么呢?SN你知道吗?
- 高薪程序员&面试题精讲系列151之电商专题(中)-你做过电商项目吗?说说购物车的实现流程吧
- 高薪程序员&面试题精讲系列150之电商专题(上)-你们的电商项目有什么特色?是B2B还是B2C、还是C2C的?直播电商你了解吗?