java二维数组

二维数组的定义

   type arrayName[ ][ ];

   type [ ][ ]arrayName;
    只是形式上的差别,大家可以根据自己的习惯来选择。

二维数组的初始化

1.静态初始化
    int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。


2.动态初始化
1) 直接为每一维分配空间,格式如下:
    arrayName = new type[arrayLength1][arrayLength2];
    int a[ ][ ] = new int[2][3]


2) 从最高维开始,分别为每一维分配空间:
    arrayName = new type[arrayLength1][ ];
    arrayName[0] = new type[arrayLength20];
    arrayName[1] = new type[arrayLength21];


   

     
3)
例:
二维简单数据类型数组的动态初始化如下:
    int a[ ][ ] = new int[2][ ]
    a[0] = new int[3];
    a[1] = new int[5];
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。例如:
    String s[ ][ ] = new String[2][ ];
    s[0]= new String[2];//
为最高维分配引用空间
    s[1]= new String[2]; //为最高维分配引用空间
    s[0][0]= new String("Good");// 为每个数组元素单独分配空间
    s[0][1]= new String("Luck");// 为每个数组元素单独分配空间
    s[1][0]= new String("to");// 为每个数组元素单独分配空间
    s[1][1]= new String("You");// 为每个数组元素单独分配空间

例子:循环遍历

(1)无顺序遍历

import java.util.Arrays;

public class d

 {
    public static void main(String args[])
    {
       boolean [][] miss=new boolean[20][];
       for(int i=0;i<20;i++){
       miss[i]=new boolean[30];

       Arrays.fill(miss[i],false);
       for(int j = 0;j<30;j++){
       System.out.println(miss[i][j]);
       }
     }

   }
}

(2)有顺序遍历

public static void main(String args[])
{
    boolean [][] miss=new boolean[20][];
    for(int i=0;i<20;i++){
    miss[i]=new boolean[30];

    Arrays.fill(miss[i],false);
    }
    for(int x = 0; x<miss.length; x++){       //定位行
    for(int y = 0; y<miss[x].length; y++){   //定位每行的元素个数
    System.out.print(miss[x][y]);
   }
   System.out.println();
  }

 

 

int [][] arr = {{123},{456}};                //定义了两行三列的二维数组并赋值
  for(int x = 0; x<arr.length; x++)

  {                                                    //定位行
  for(int y = 0; y<arr[x].length; y++){ 

                                                       //定位每行的元素个数
   System.out.print(arr[x][y]);
   }
   System.out.println();
  }
  
 

数组值arr[x][y]表示指定的是第x行第y列的值。
在使用二维数组对象时,注意length所代表的长度,
数组名后直接加上length(如arr.length),所指的是有几行(Row);
指定索引后加上length(如arr[0].length),指的是该行所拥有的元素,也就是列(Column)数目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值