黑马程序员--数组(四)二维数组

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

二维数组

格式1:int [] [] arr=new int [3] [2];

说明:

定义了名称为arr 的二维数组

二维数组中有3个一维数组

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

一维数组的名称分别为arr[0],arr[1],arr[2]

如果给第一个一维数组1角标位赋值为78写法是:arr[0][1]=78;

 

格式2:int [] [] arr=new int [3] [];

二位数组中有3个一维数组

每个一维数组都是默认初始化值null,因为数组是引用数据类型

arr[0] = null;

arr[1] = null;

arr [2] = null;];

可以对这个三个一维数组分别进行初始化

arr[0] = new int [3];

arr[1] = new int [1];

arr [2] = new int [2];

 

格式3

静态初始化二维数组:

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

 

通过遍历二维数组,求二维数组中所有元素的和:

 1 class  ArrayDemo3
 2 
 3 {
 4 
 5        public static void main(String[] args)
 6 
 7        {
 8 
 9               int[][] arr= {{3,5,1,7},{2,3,5,8},{6,1,8,2}};
10 
11               int sum=0;
12 
13               for(int i=0;i<arr.length;i++){
14 
15                      for(int j=0;j<arr[i].length;j++){
16 
17                             sum=sum+arr[i][j];
18 
19                      }
20 
21               }
22 
23               System.out.println(sum);
24 
25        }
26 
27 }

 

 

例1:

class  Array2Demo

{

       public static void main(String[] args)

       {

              /*定义了名称为arr的二维数组,二维数组中

              有3个一维数组,每一个一维数组中有四个元素*/

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

              //打印二维数组的地址

              System.out.println(arr);

              //打印第一个一维数组的地址

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

       }

}

 

结果:

 

 

 

例2:

 1 class  Array2Demo2
 2 
 3 {
 4 
 5        public static void main(String[] args)
 6 
 7        {
 8 
 9               //第二种定义二维数组的方法
10 
11               int[][] arr=new int[3][];
12 
13               //在二维数组中可以定义不同长度的一维数组
14 
15               arr[0] = new int[3];
16 
17               arr[1] = new int[1];
18 
19               arr[2] = new int[2];
20 
21               //打印二维数组的长度
22 
23               System.out.println(arr.length);
24 
25               //打印第一个一维数组的长度
26 
27               System.out.println(arr[0].length);
28 
29        }
30 
31 }

 

 

结果:

 

 

 

练习:判断对错

int [ ] x,y[ ];//相当于int [] x; int [] y[];

/*数组的定义方式;

一维数组:int [] x; int[] y[];

二维数组:int [][] y; int y[][]; int [] y[]

*/

a.

x[0]=y;//错的,y是二维数组,无法赋值给一维数组

b.

y[0]=x;//对的

c.

y[0][0]=x;//错的,y[0][0]是个具体的数组,而x是个一维数组

d.

x[0][0]=y;//错的,x是一维数组

e.

y[0][0]=x[0]//对的

f.

x=y;//错的

 

 

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

转载于:https://www.cnblogs.com/hjiangsj/p/3488035.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值