服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java基础知识精通二维数组的应用

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

2022-11-28 14:39猿界的小皮皮 Java教程

为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简

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

1.什么是二维数组

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

2.定义格式

格式一:

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

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

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

格式二:

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

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

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

格式三:

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

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

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

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

3.二维数组的使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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循环语句不能自动处理二维数组中每一个元素,因为它会处理行,而每一个一维数组就是一个行,所以要循环二维数组每一个元素就要使用两个嵌套的循环,如下所示:

实例一:

?
1
2
3
4
5
6
7
8
9
10
11
12
// 使用格式:
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 

实例二:

?
1
2
3
4
5
6
7
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 

到此这篇关于Java二维数组基础知识的应用文章就介绍到这了,更多相关Java二维数组内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_43355770/article/details/124105512

延伸 · 阅读

精彩推荐
  • Java教程利用java监听器实现在线人数统计

    利用java监听器实现在线人数统计

    过去使用ASP和ASP.NET两种编程的时候,都写过在线人数统计能,实现功能挺简单的!今天使用java来实现在线人数统计有点另类,是通过Java监听器实现的,需...

    lijiao6282020-01-07
  • Java教程Java代码生成器的制作流程详解

    Java代码生成器的制作流程详解

    这篇文章主要介绍了Java代码生成器的制作流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    码农小胖哥5982020-07-25
  • Java教程关于springboot集成swagger3时spring-plugin-core报错的问题

    关于springboot集成swagger3时spring-plugin-core报错的问题

    这篇文章主要介绍了关于springboot集成swagger3时spring-plugin-core报错的问题,本文给大家分享解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    weixin_445096154692021-12-24
  • Java教程java数据结构与算法之希尔排序详解

    java数据结构与算法之希尔排序详解

    这篇文章主要介绍了java数据结构与算法之希尔排序,结合实例形式分析了希尔排序的概念、原理、实现方法与相关注意事项,需要的朋友可以参考下...

    android小猪5292020-09-23
  • Java教程Spring boot2.0 实现日志集成的方法(2)

    Spring boot2.0 实现日志集成的方法(2)

    这篇文章主要介绍了Spring boot2.0 实现日志集成的方法,上一章讲解了spring boot日志简单集成,这篇我们将日志进行分类,常规日志、异常日志、监控日志等,需...

    剑圣无痕5032022-11-16
  • Java教程mybatis中sql语句CDATA标签的用法说明

    mybatis中sql语句CDATA标签的用法说明

    这篇文章主要介绍了mybatis中sql语句CDATA标签的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    Bee.F11192021-09-22
  • Java教程Java8的Lambda遍历两个List匹配数据方式

    Java8的Lambda遍历两个List匹配数据方式

    这篇文章主要介绍了Java8的Lambda遍历两个List匹配数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    陌亡7252022-08-15
  • Java教程Java的枚举,注解和反射(一)

    Java的枚举,注解和反射(一)

    今天小编就为大家分享一篇关于Java枚举,注解与反射原理说明,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编...

    保护眼睛12172021-09-26