以线及面--进入二维数组的世界 | 带你学《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面向对象编程文章查看此处

相关文章
|
20天前
|
存储 Java 计算机视觉
Java二维数组的使用技巧与实例解析
本文详细介绍了Java中二维数组的使用方法
40 15
|
4月前
|
存储 Java
【编程基础知识】 分析学生成绩:用Java二维数组存储与输出
本文介绍如何使用Java二维数组存储和处理多个学生的各科成绩,包括成绩的输入、存储及格式化输出,适合初学者实践Java基础知识。
110 1
|
20天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
79 15
|
20天前
|
Java 数据安全/隐私保护 开发者
【潜意识Java】深入理解 Java 面向对象编程(OOP)
本文介绍了Java中的面向对象编程(OOP)核心概念,包括封装、继承、多态和抽象。封装通过访问控制保护数据,提高安全性;继承支持代码复用,减少冗余;多态实现灵活的行为调用;抽象则隐藏细节,简化接口设计。掌握这些概念有助于编写高效、灵活且易于维护的代码。文章通过实例详细讲解了每个概念在Java中的应用,并总结了它们的优势。
38 3
|
3月前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
209 63
|
6月前
|
Java 开发者
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
52 7
|
6月前
|
Java 开发者
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
60 5
|
4月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
124 43
Java学习十六—掌握注解:让编程更简单
|
6月前
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
6月前
|
Java
【Java基础面试十六】、Java中的多态是怎么实现的?
这篇文章解释了Java中多态的实现机制,主要是通过继承,允许将子类实例赋给父类引用,并在运行时表现出子类的行为特征,实现这一过程通常涉及普通类、抽象类或接口的使用。