Java基础知识精通二维数组的应用

作者:猿界的小皮皮 时间:2022-02-03 03:01:28 

本文章主要讲二维数组定义,用法。

1.什么是二维数组

在二维数组多个元素为一维数组的数组就称为二维数组

2.定义格式

格式一:

元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度];

int[][] a = new int[3][2];

解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素。

格式二:

元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][];

int[][] a = new int[3][];

解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数不确定。

格式三:

元素的数据类型[][] 数组的名字 = {{元素1,元素2,…}, {元素1,元素2,…}, …};

int[][]a = {{1,2,3},{4,5},{5,6,7,8}};

解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数都不一样。

  • 第一个一维数组含有3个元素。

  • 第二个一维数组含有2个元素。

  • 第三个一维数组含有4个元素。

3.二维数组的使用

package shuzu;
public class erwei {
public static void main(String[] args) {
int[][] a = new int[3][];
System.out.println(a);//[[I@7852e922 ,输出数组a的地址
//由于未初始化每个数组,所以这三个数组为null.
System.out.println(a[0]);//null
System.out.println(a[1]);//null
System.out.println(a[2]);//null
int[] a_1 = {1,2,3}; //定义一个a_1一维数组。
a[0] = a_1; //把a_1数组值赋给数组a第一个一维数组。
int[] a_2 = {4,5};//定义一个a_2一维数组。
a[1] = a_2;//把a_2数组值赋给数组a第二个一维数组。
int[] a_3 = {6,7,8,9};
a[2] = a_3;
System.out.println(a[0]);//[I@4e25154f ,输出第一个一维数组的地址
System.out.println(a[1]);//[I@70dea4e  ,输出第二个一维数组的地址
System.out.println(a[2]);//[I@5c647e05 ,输出第三个一维数组的地址
//下面程序是输出数组的元素:
System.out.println(a[0][0]);//1  输出的是第一个数组第一个元素
System.out.println(a[0][1]);//2  输出的是第一个数组第二个元素
System.out.println(a[0][2]);//3  输出的是第一个数组第三个元素
System.out.println(a[1][0]);//4  同理输出的是第二个数组第一个元素
System.out.println(a[1][1]);//5
System.out.println(a[2][0]);//6  同理输出的是第三个数组第一个元素
System.out.println(a[2][1]);//7
System.out.println(a[2][2]);//8
System.out.println(a[2][3]);//9
}
}

4.二维数组的遍历

for each循环语句不能自动处理二维数组中每一个元素,因为它会处理行,而每一个一维数组就是一个行,所以要循环二维数组每一个元素就要使用两个嵌套的循环,如下所示:

实例一:

// 使用格式:
for (double[] row : a)
for(double value : row)
do something with value
//实例:
double[][] arr = {{1,2,5,4},{4,2,5,7},{3,6,9,4}};
for (double[] row : arr)   //循环有多少个元素,这里的元素指的是一维数组,这点要搞清楚。
{
for(double b : row)    //循环有多少个元素,这里的元素指的是每个一维数组里的元素。
System.out.print(b+" "); //打印出每个数组的元素。
System.out.println();    //换行
}

//输出结果:
1.0 2.0 5.0 4.0 
4.0 2.0 5.0 7.0 
3.0 6.0 9.0 4.0 

实例二:

int[][] a = {{1,2,3}, {4,5}, {5,6,7,8}};
for(int i = 0; i < a.length; i++)//这个结构原理跟上面的大致相同,不同的是对元素的下标有限制。
{
for(int j = 0; j < a[i].length; j++)  //循环第i数组的元素。
System.out.print(a[i][j] + " ");  //输出第i数组第j个元素。
   System.out.println();  //换行。
}

//输出结果:
1 2 3 
4 5 
5 6 7 8 

来源:https://blog.csdn.net/qq_43355770/article/details/124105512

标签:Java,二维数组,定义
0
投稿

猜你喜欢

  • Java多线程通信:交替打印ABAB实例

    2022-04-08 06:57:28
  • 浅谈Java多进程程序的运行模式

    2021-07-06 11:06:49
  • Android SQLite数据库增删改查操作的案例分析

    2022-06-06 02:55:03
  • Android编程之在SD卡上进行文件读写操作实例详解

    2022-04-15 10:29:50
  • Android编程之Sdcard相关代码集锦

    2022-08-15 09:55:24
  • SpringBoot之Helloword 快速搭建一个web项目(图文)

    2023-08-23 17:36:21
  • Android SQLite数据库加密的操作方法

    2021-10-14 11:22:05
  • c++中vector<int>和vector<int*>的用法及区别

    2023-03-28 02:29:37
  • c#实现图片二值化例子(黑白效果)

    2023-02-19 11:52:46
  • JavaFX 监听窗口关闭事件实例详解

    2023-07-20 21:53:06
  • java并发编程包JUC线程同步CyclicBarrier语法示例

    2023-01-18 07:44:58
  • Android 蓝牙连接 ESC/POS 热敏打印机打印实例(ESC/POS指令篇)

    2022-05-06 18:39:37
  • SpringBoot构建RESTful API的实现示例

    2022-04-13 14:45:08
  • java实现简易飞机大战

    2022-08-27 12:36:07
  • Java线程状态运行原理解析

    2023-02-27 05:13:24
  • Java 数据库连接池详解及简单实例

    2023-08-10 15:54:07
  • Java实现一个顺序表的完整代码

    2023-09-21 01:00:59
  • Java上转型和下转型对象

    2021-07-11 13:37:47
  • WinForm项目开发中Excel用法实例解析

    2022-07-11 10:23:03
  • OKhttp拦截器实现实践环节源码解析

    2023-04-27 05:00:21
  • asp之家 软件编程 m.aspxhome.com