添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Java 菜鸟教程

  • Java 菜鸟教程
  • Java 开发环境安装
  • Java 入门程序
  • Java JDK, JRE和JVM
  • Java 基本数据类型
  • Java 变量类型
  • Java 运算符
  • Java 输入和输出
  • Java 表达式语句
  • Java 注释
  • Java 流程控制

  • Java if...else语句
  • Java switch语句
  • Java for循环
  • Java for-each循环
  • Java while循环
  • Java break语句
  • Java continue语句
  • Java 数组

  • Java 数组(Arrays)
  • Java 多维数组
  • Java 数组复制
  • Java 面向对象(I)

  • Java 类和对象
  • Java 方法
  • Java 构造函数
  • Java 修饰符
  • Java 字符串(String)
  • Java this 关键字
  • Java final 关键字
  • Java instanceof 关键字
  • Java 递归
  • Java 面向对象(II)

  • Java 继承
  • Java 方法重写
  • Java super 关键字
  • Java 抽象类和抽象方法
  • Java 接口(Interface)
  • Java 多态
  • Java 封装
  • Java 面向对象(III)

  • Java 嵌套和内部类
  • Java 嵌套静态类
  • Java 匿名类
  • Java 单例模式
  • Java 枚举(Enum)
  • Java 枚举构造函数
  • Java 枚举与字符串
  • Java 反射(Reflection)
  • Java 包(package)
  • Java 异常处理

  • Java 异常(Exceptions)
  • Java 异常处理
  • Java throw和throws 关键字
  • Java 处理多个异常
  • Java try-with-resources
  • Java 注解(Annotations)
  • Java 日志(Logging)
  • Java 断言(Assert)
  • Java 列表(List)

  • Java 集合框架
  • Java 集合接口(Collection)
  • Java List(列表)
  • Java ArrayList
  • Java Vector(向量)
  • Java Stack(堆栈)
  • Java Queue(队列)

  • Java Queue 接口
  • Java PriorityQueue
  • Java Deque 接口
  • Java LinkedList(链表)
  • Java ArrayDeque
  • Java Map集合

  • Java Map接口
  • Java HashMap
  • Java LinkedHashMap
  • Java ConcurrentHashMap
  • Java Set集合

  • Java Set 接口
  • Java HashSet 类
  • Java Algorithms(算法)
  • Java Iterator 接口
  • Java ListIterator 接口
  • Java 输入输出(I/O)

  • Java I/O 流
  • Java InputStream 类
  • Java OutputStream 类
  • Java Reader/Writer

  • Java Reader 类
  • Java Writer 类
  • Java FileReader 类
  • Java FileWriter 类
  • Java 其他主题

  • Java Scanner 类
  • Java 类型转换
  • Java 自动装箱和拆箱
  • Java Lambda 表达式
  • Java 泛型
  • Java File 类
  • Java 包装类(Wrapper)
  • Java 命令行参数
  • Java 序列化
  • Java 网络编程
  • Java 发送邮件
  • Java 多线程编程
  • Java Applet 基础
  • Java 文档注释
  • Java 8 新特性
  • Java 多维数组

    在本教程中,我们将借助示例学习使用2维数组和3维数组的Java多维数组。

    在学习多维数组之前,请确保您了解 Java数组

    多维数组是数组的数组。多维数组的每个元素都是数组本身。例如,

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

    在这里,我们创建了一个名为a的多维数组。它是一个二维数组,最多可以容纳12个元素,

    Java中的二维数组
    二维数组

    记住,Java使用基于零的索引,也就是说,Java中数组的索引从0开始,而不是从1开始。

    让我们再举一个多维数组的实例。这次我们将创建一个3维数组。例如,

    String[][][] data = new String[3][4][2];

    这里,data是一个三维数组,最多可以容纳24(3*4*2)个String类型的元素。

    如何在Java中初始化二维数组?

    这是我们如何在Java中初始化二维数组。

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

    如我们所见,多维数组的每个元素都是数组本身。而且,与C / C ++不同,Java中多维数组的每一行可以具有不同的长度。

    Java中具有可变长度的2d数组示例
    二维数组的初始化

    示例:二维数组

    class MultidimensionalArray {
        public static void main(String[] args) {
            //创建二维数组
            int[][] a = {
                {1, 2, 3}, 
                {4, 5, 6, 9}, 
            //计算每行的长度
            System.out.println("第1行的长度: " + a[0].length);
            System.out.println("第2行的长度: " + a[1].length);
            System.out.println("第3行的长度: " + a[2].length);
    }

    输出

    第1行的长度: 3
    第2行的长度: 4
    第3行的长度: 1

    在上面的实例中,我们创建了一个名为a的多维数组,因为多维数组的每个组件也是一个数组(a[0],[1]和a[2]也是数组)。
    这里,我们使用length属性来计算每行的长度。

    示例:使用循环打印2维数组的所有元素

    class MultidimensionalArray {
        public static void main(String[] args) {
            int[][] a = {
                {1, -2, 3}, 
                {-4, -5, 6, 9}, 
            for (int i = 0; i < a.length; ++i) {
                for(int j = 0; j < a[i].length; ++j) {
                    System.out.println(a[i][j]);
    }

    输出

    1
    7

    我们还可以使用 for ... each循环 来访问多维数组的元素。例如,

    class MultidimensionalArray {
        public static void main(String[] args) {
            //创建二维数组
            int[][] a = {
                {1, -2, 3}, 
                {-4, -5, 6, 9}, 
            //首先for ... each循环访问单个数组
            //在二维数组中
            for (int[] innerArray: a) {
                //第二次for ... each循环访问行内的每个元素
                for(int data: innerArray) {
                    System.out.println(data);
    }

    输出

    1
    7

    在上面的实例中,我们创建了一个名为a的二维数组,然后使用for 循环和for…each循环访问数组的每个元素。

    如何在Java中初始化三维数组?

    让我们看看如何在Java中使用3d数组。我们可以初始化一个类似于2d数组的3d数组。例如,

    // test is a 3d array
    int[][][] test = {
              {1, -2, 3}, 
              {2, 3, 4}
              {-4, -5, 6, 9}, 
              {2, 3}
    };

    基本上,3d数组是2d数组的数组。三维阵列的行也可以像二维阵列一样在长度上有所变化。

    示例:3维数组

    class ThreeArray {
        public static void main(String[] args) {
            // 创建三维数组
            int[][][] test = {
                  {1, -2, 3}, 
                  {2, 3, 4}
                  {-4, -5, 6, 9}, 
                  {2, 3}
            //for..each循环迭代3d数组的元素
            for (int[][] array2D: test) {
                for (int[] array1D: array2D) {
                    for(int item: array1D) {
                        System.out.println(item);
    }

    输出

    1
    3