为了账号安全,请及时绑定邮箱和手机立即绑定

java5-2 二维数组

标签:
Android

二维数组:就是元素为一维数组的一个数组。    

格式1

         数据类型[][] 数组名 = new 数据类型[m][n];

                  m:表示这个二维数组有多少个一维数组。

                  n:表示每一个一维数组的元素有多少个。           

         注意:

                  A:以下格式也可以表示二维数组

                            a:数据类型 数组名[][] = new 数据类型[m][n];

                            b:数据类型[] 数组名[] = new 数据类型[m][n];

                  B:注意下面定义的区别         

                            int[] x;

                            int[] y[];         

                            int[] x,y[];   //一个一维数组,一个二维数组

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

class Array2Demo {

    public static void main(String[]   args) {

         //定义一个二维数组

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

         //定义了一个二维数组arr

         //这个二维数组有3个一维数组的元素

         //每一个一维数组有2个元素

         //输出二维数组名称

         System.out.println(arr);   //地址值   [[I@175078b

         //输出二维数组的第一个元素一维数组的名称

         System.out.println(arr[0]);   //地址值    [I@42552c

         System.out.println(arr[1]);   //地址值    [I@e5bbd6

         System.out.println(arr[2]);   //地址值    [I@8ee016

         //输出二维数组的元素

         System.out.println(arr[0][0]);   //0

         System.out.println(arr[0][1]);   //0

    }

}

格式2

         数据类型[][] 数组名 = new 数据类型[m][];  

                  m:表示这个二维数组有多少个一维数组。

                  列数没有给出,可以动态的给。这一次是一个变化的列数。

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

public class Array2Demo   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

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

         

        System.out.println(arr);    //输出地址

        System.out.println(arr[0]);    //null  因为还没赋予它空间

        System.out.println(arr[1]);    //null  因为还没赋予它空间

        System.out.println(arr[2]);    //null  因为还没赋予它空间

         

        //下面是为二维数组arr[3][]的一维数组赋予空间

        arr[0]   = new int [2];  //为数组arr[0]赋予2个空间

        arr[1]   = new int [3];

        arr[2]   = new int [1];

         

        System.out.println(arr[0]);

        System.out.println(arr[1]);

        System.out.println(arr[2]);  

         

        System.out.println(arr[0][2]);    //出错,因为arr[0]的空间只是2个,这里[3]已经超出,应该<=1

        System.out.println(arr[1][2]);    // 输出0

        System.out.println(arr[2][1]);    //出错,因为arr[2]的空间只有1个,这里[1]已经超出,应该是0

         

        arr[0][1]   = 1; //为二维数组中的一维数组arr[0]的第2个元素[1]赋予1值

        arr[1][2]   = 2;

        arr[2][0]   = 3;

        //总结:arr[x][] = y:是为二维数组的第(x)个一维数组赋予 y 个空间

        //      arr[x][y] = z:是为二维数组的第(x)个一维数组的第(y)个元素赋予   z 值

        System.out.println(arr[0][1]);

        System.out.println(arr[1][2]);

        System.out.println(arr[2][0]);

    }

}

格式3

                  基本格式:

                            数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

                  简化版格式:

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

                  举例:

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

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

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

public class TwoArryDemo2   {

 

    public static void main(String[]   args) {

        //   TODO Auto-generated method stub

        int[][]   arr = {{1,2},{3,4,5,6},{7,8,9,10,11},{12,13,14,15,16,17}};

         

        System.out.println(arr);   //输出地址值

         

        System.out.println(arr[0]);    //输出地址值

        System.out.println(arr[1]);    //输出地址值

         

        System.out.println(arr[0][1]);

        System.out.println(arr[1][1]);

        System.out.println(arr[2][1]);

        System.out.println(arr[3][1]);

         

        System.out.println(arr[0][2]);    //错误,2超出arr[0]的范围

        System.out.println(arr[1][4]);    //错误,4超出arr[1]的范围

    }

}

原文链接:http://www.apkbus.com/blog-833059-61665.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消