Java学习随笔-二维数组
2022/9/13 1:26:19
本文主要是介绍Java学习随笔-二维数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java的二维数组
我们可以吧二维数组理解成为,原来的一维数组中的每一个元素里又存放了一个一维数组,然后就构成了二维数组。就是数组里面又套了一个数组
二维数组也类似于以前小时候学的二维直角坐标系(XY轴),每个X轴和Y轴对应的位置就是一个二维数组元素。
1、二维数组的定义
二维数组的定义和一维数组一样,也是要先声明后开辟内存空间才能使用
int[][] arr1;//声明 arr1 = new int[3][3]//再开空间 //声明和开辟空间写在一起: //数据类型[][] 数组名 = new 数据类型[行数][列数] int[][] arr = new int[6][6];//定义了一个6行6列的二维数组
2、二维数组的初始化
静态初始化
int[][] arr = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; //定义了一个二维数组,其中里面有4个一维数组,每个一维数组里面有4个元素 //也可以理解为定义了两个4行4列的二维数组
动态初始化
String[][] b=new String[10][10];//定义了一个二维数组,其中里面有10个一维数组,每个一维数组里面有10个元素 b[0]=new String[]{"刘备","关羽","张飞"};//第一行 b[1]=new String[]{"Java","PHP","c++"};//第二行
3、二维数组的遍历
//例子 public class demo01 { public static void main(String[] args) { //静态初始化 int[][] a={{1,2,3,4},{4,5,6,7},{8,9,10,11},{10,11,12,13}}; //遍历 for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { //arr[i].length 相当于得到了 对应的 每个一维数组的长度,arr[i]就是拿到其中的一个一维数组的意思 System.out.print(a[i][j]+" "); } System.out.println();//换行 } } }
4、关于二维数组的关键概念
- 二维数组的每一个元素都相当于一个一维数组
int[][] arr = {{1,2,1,2,1,2},{3,4,3,4,3,4},{5,6,5,6,5,6},{7,8,7,8,7,8}} System.out.println("二维数组的元素个数=" + arr.length);//arr.length = 4; //输出结果 //二维数组的元素个数=4
- 二维数组的没一个元素是一维数组,所以需要得到每一个一维数组的值还需要再次遍历
- 数组的索引(下标)都是从0开始的
//arr[1][1]表示第二行第二个元素
5、动态初始化-列数不确定
public class TwoDimensionalArray { public static void main(String[] args) { //创建 二维数组,一共有3个一维数组,但是每一个一维数组还没有开数据空间 int[][] arr = new int[3][];//! ! 列数不确定 ! ! /* 要求输出数组: i=0: 1 i=1: 2 2 i=3; 3 3 3 */ for (int i = 0; i < arr.length; i++) {//遍历arr每个一维数组 //给每个一维数组开空间 new //如果没有给一维数组 new,那么 arr[i]就是null arr[i] = new int[i + 1]; //遍历一维数组,并给一维数组的每个元素赋值 for (int j = 0; j < arr[i].length; j++) { arr[i][j] = i + 1;//赋值 } } //遍历输出 System.out.println("最终二维数组为:"); for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j]+"\t"); } System.out.println(); } } }
结果:
这篇关于Java学习随笔-二维数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞