前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据必学Java基础(二十九):二维数组

大数据必学Java基础(二十九):二维数组

原创
作者头像
Lansonli
发布2022-07-23 09:15:57
2500
发布2022-07-23 09:15:57
举报
文章被收录于专栏:Lansonli技术博客

​二维数组

一、引入:本质上全部都是一维数组

二、基本代码

代码语言:javascript
复制
public class TestArray15{
        public static void main(String[] args){
                //定义一个二维数组:
                int[][] arr = new int[3][];//本质上定义了一个一维数组,长度为3
                
                int[] a1 = {1,2,3};
                arr[0] = a1;
                
                arr[1] = new int[]{4,5,6,7};
                
                arr[2] = new int[]{9,10};

        }
}

对应内存:

三、四种遍历方式

代码语言:javascript
复制
public class TestArray15{
        public static void main(String[] args){
                //定义一个二维数组:
                int[][] arr = new int[3][];//本质上定义了一个一维数组,长度为3
                
                int[] a1 = {1,2,3};
                arr[0] = a1;
                
                arr[1] = new int[]{4,5,6,7};
                
                arr[2] = new int[]{9,10};
                
                //读取6这个元素:
                //System.out.println(arr[1][2]);
                
                //对二维数组遍历:
                //方式1:外层普通for循环+内层普通for循环:
                for(int i=0;i<arr.length;i++){
                        for(int j=0;j<arr[i].length;j++){
                                System.out.print(arr[i][j]+"\t");
                        }
                        System.out.println();
                }
                
                //方式2:外层普通for循环+内层增强for循环:
                for(int i=0;i<arr.length;i++){
                        for(int num:arr[i]){
                                System.out.print(num+"\t");
                        }
                        System.out.println();
                }
                
                //方式3:外层增强for循环+内层增强for循环:
                for(int[] a:arr){
                        for(int num:a){
                                System.out.print(num+"\t");
                        }
                        System.out.println();
                }
                
                //方式4:外层增强for循环+内层普通for循环:
                for(int[] a:arr){
                        for(int i=0;i<a.length;i++){
                                System.out.print(a[i]+"\t");
                        }
                        System.out.println();
                }

        }
}

四、二维数组的初始化方式

数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化。

  • 静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

eg:

int[][] arr = {{1,2},{4,5,6},{4,5,6,7,8,9,9}};

int[][] arr =new int[][] {{1,2},{4,5,6},{4,5,6,7,8,9,9}};

  • 动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。

eg:

int[][] arr = new int[3][]; //本质上定义了一维数组长度为3,每个“格子”中放入的是一个数组

arr[0] = new int[]{1,2};

arr[1] = new int[]{3,4,5,6};

arr[2] = new int[]{34,45,56};

eg:

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

代码语言:javascript
复制
public class TestArray16{ 
        public static void main(String[] args){ 
                int[][] arr = new int[3][2]; 
                //本质上:定义一维数组,长度为3,每个数组“格子”中,有一个默认的长度为2的数组: 

                arr[1] = new int[]{1,2,3,4}; 

                //数组遍历: 
                for(int[] a:arr){ 
                        for(int num:a){ 
                                        System.out.print(num+"\t"); 
                        } 
                        System.out.println(); 
                } 

        } 
} 

  • 默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​二维数组
    • 一、引入:本质上全部都是一维数组
      • 二、基本代码
        • 三、四种遍历方式
          • 四、二维数组的初始化方式
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档