以线及面--进入二维数组的世界 | 带你学《Java面向对象编程》之十六

简介: 本节通过一维数组数据与二维数组数据的对比,简单明了地引出了二维数组这一新的概念。

上一篇:又见引用--数组元素的奇妙之旅 |带你学《Java面向对象编程》之十五
【本节目标】
通过阅读本节内容,你将拓展思维,以线及面,初步了解到数据的魅力,并学会二维数组的定义与初始化相关方法。

二维数组

在之前所定义的数组里面会发现只有一个“[]”,所以这个时候的数组就好像一行数据一样,可以利用下标进行行数据的访问。

  • 传统的数组就好比一行数据,如果要想找到一个数据只需要确定一个下标即可;

表一 传统数组
image.png

  • 如果说现在需要一个多行多列的结构(表),则就需要通过两个下标才可以描述出一个数据,行下标与列下标共同定义才可以找到,所以这样的数组形式就称为二维数组。

表二 二维数组
image.png

对于二维数组可以使用的定义语法如下:

  • 数组的动态初始化

    • 数据类型 数组名称 [][] = new 数据类型 行个数
  • 数组的静态初始化

    • 数据类型 数组名称 [][] =new 数据类型 [][] { {数据,数据,……},{数据,数据,……},{数据,数据,……},……}

范例:定义二维数组

public class ArrayDemo {
     public static void main (String args[ ]) {
         int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
     }
}

表三 表示程序结果
image.png

既然二维数组的每一行都属于一个数组,那么这种情况下就可以通过每一行的数组求出数组长度。

public class ArrayDemo {
   public static void main (String args[ ]) {
      int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
      for (int x = 0 ; x < data.length ; x ++ ){
         for(int y = 0 ;y <data[x].length ; y ++){
        System.out.println(“data[“+x+”][“+y+”] = ”+ data[x][y]) ;
         }
         System.out.println() ;    //换行
      }
   }
}

image.png
图一 执行结果一

如果这时要求使用foreach来进行输出呢?
范例:使用foreach输出二维数组

public class ArrayDemo {
     public static void main (String args[ ]) {
         int data [] []= new int [] []{{1,2,3,4,5},{1,2,3},{5,6,7,8}} ;
         for (int temp [] : data) {
            for(int num : temp) {
               Sysem.out.println(num + “、”)
             }
             System.out.println() ;    //换行
         }
    }
}

image.png
图二 执行结果二

通过foreach的输出格式可以清楚地观察到,二维数组就是数组的嵌套使用。随着尅发技术的发展,如果要进行一些应用层的程序开发,那么很少会涉及到二维数组,更不用说更高级的多维数组了。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:熟练运用数组,看这篇就够了 | 带你学《Java面向对象编程》之十七
更多Java面向对象编程文章查看此处

相关文章
|
14天前
|
安全 Java 数据安全/隐私保护
|
12天前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
19 1
|
26天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3
|
29天前
|
Java
Java面向对象编程
Java面向对象编程
|
1月前
|
存储 Java
JAVA面向对象编程
JAVA面向对象编程
|
1月前
|
人工智能 Java 索引
Java基础之数组(一维数组,二维数组)
Java基础之数组(一维数组,二维数组)
|
1月前
|
Java 索引
【Java每日一题】— —第十八题:求二维数组中的元素最小值及其索引。
【Java每日一题】— —第十八题:求二维数组中的元素最小值及其索引。
32 0
|
1月前
|
Java
Java中的面向对象编程特性(封装、继承、多态)
Java中的面向对象编程特性(封装、继承、多态)
|
2月前
|
设计模式 Java 程序员
Java中面向对象编程的实现
Java中面向对象编程的实现
|
2月前
|
存储 Java
深入解析 Java 面向对象编程与类属性应用
面向对象编程 (OOP) 是一种编程范式,它将程序组织成对象。对象包含数据和操作数据的方法。 OOP 的优势: 更快、更易于执行 提供清晰的结构 代码更易于维护、修改和调试 提高代码重用性 减少开发时间
65 0