网站首页 > java教程 正文
上篇文章写了《全新Java入门到架构师教程之Java15数组案例实现和Arrays》,这次将接下去说java15编程之二维数组及其初始化、遍历方式等。
一、什么是二维数组
二维数组可以看成以数组为元素的数组。
其实多维数组不仅仅只有二维数组,还有三维数组,四维数组..., 但是三维以上很少见到,所以大家重点了解二维数组即可。
举个栗子:
int [][] a = {{1,2},{3,4,0,9},{5,6,7}};
二、二维数组初始化
1、动态初始化
数组定义与为数组元素分配空间和赋值的操作分开进行
数据类型[][] 数组名 = new 数据类型[一维][二维];
注意:这种初始化方式,每一个内层的二位数组长度相同
int[][] a=new int[3][2];
a[0][0] = 1;
a[0][1] = 2;
- 数据类型[][] 数组名 = new 数据类型[一维][];
- 内层数组需要我们自己去创建(下面可以用一维数组的创建方式)
- 数组名[一维数组索引值] = new 数据类型[二维];
int[][] a=new int[3][];
arr[0]=new int[2];
arr[1]=new int[]{3,4,5,6};
arr[2]=new int[]{7,8,9};
arr[0][0] = 1;
arr[0][1] = 2;
2、静态初始化
在定义数组的同时就为数组元素分配空间并赋值。
数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
数据类型[][] 数组名 = {{...},{...},{...}}; --简化写法
int[][] arr1=new int[][]{{5,4,8},{3,8},{1}};
char[][] arr2={{'a'},{'b','c'}};
三、二维数组遍历方式
双重循环实现多维数组的遍历。
//普通for循环嵌套增强for循环
for(int i=0;i<=arr1.length-1;i++){
for(int j:arr1[i]){
System.out.println(j);
}
}
//增强 for循环嵌套普通for循环
for(int[] arr:arr1){
for(int i=0;i<=arr.length-1;i++){
System.out.println(arr[i]);
}
}
//普通for嵌套普通for循环
...
//增强for嵌套增强for循环
...
Arrays中提供操作多维数组的方法:
static boolean deepEquals(Object[] a1, Object[] a2) 如果两个指定的数组彼此 深度相等 ,则返回 true 。
static String deepToString(Object[] a) 返回指定数组的“深度内容”的字符串表示形式。
double[][] arr1= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}};
double[][] arr2= new double[][] {{1.0,2.0},{3.0,4.0,5.0},{6.0}};
System.out.println(Arrays.deepToString(arr1)); //[[1.0, 2.0], [3.0, 4.0, 5.0], [6.0]]
System.out.println(Arrays.deepEquals(arr1, arr2)); //true
关于Java15基础编程之一维数组和二维数组就先介绍到这里,接下来会继续讲述全新Java大数据课程的文档,如需完整视频教程资料等,请私聊本人。欢迎关注,转载请注明作者和出处。
- 上一篇: Java中Arrays类中的数组操作方法详解
- 下一篇: 数组的简单入门(数组的几种方法)
猜你喜欢
- 2024-09-27 Java教程惊喜第五弹:数组(java数组基础知识)
- 2024-09-27 Java数组入门:定义和使用指南(零基础)
- 2024-09-27 Java入门到架构师教程之JavaScript数组和数组操作方法
- 2024-09-27 数组的简单入门(数组的几种方法)
- 2024-09-27 Java中Arrays类中的数组操作方法详解
- 2024-09-27 Java开发课程(九)——数组(java数组基础知识)
- 2024-09-27 java互联网架构师,教你学java基本的程序设计结构:大数值+数组
- 2024-09-27 什么是数组?java数组(java数组是啥)
- 2024-09-27 Java中数组的常见操作(java中数组的用法)
- 2024-09-27 Java入门教程:什么是数组?如何掌握数组?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)