11 二维数组初窥
11 二维数组初窥
定义语法
变量类型[] [] 名称 = new 变量类型[a] [b];
a代表的是能存放多少个一维数组
b代表每一个一维数组里面能存放多少个变量
a*b代表着该二维数组能够存储的元素的个数
如:int[] [] temp = new int[5] [6];
 意思是定一个了一个名字为temp的二维数组,它能存放5个长度为6的一维数组,即一共可以存放三十个元素
具体操作
1.赋值
第一种,初始化赋值
   int[][] a={{22},{33},{44,88,99}};
第二种:通过for循环赋值
   int[][] a=new int[5][6];
   System.out.println("能存放一维数组的个数"+a.length);
   System.out.println("第一个一维数组能存放元素的个数"+a[0].length);
   //第二种: 通过for循环赋值(所有值都一样)
   for (int i = 0; i < a.length; i++) {
       for (int j = 0; j < a[i].length; j++) {
              a[i][j]=10;
        }
    }
   //补充:如果想赋值不同的值,直接赋值即可,如a[0][4]=9;a[1][2]=-7
2.取值
第一种 for循环输出
  for (int i = 0; i < a.length; i++) {
      for (int j = 0; j < a[i].length; j++) {
            System.out.print(a[i][j]+"\t");
      }
      System.out.println();
   }
第二种 foreach循环输出
  for (int[]data : a) {
      //把原数组的地址赋值给新数组
      for (int i : data) {
           System.out.print(i+"\t");   
      }
      System.out.println();//每输出一个二维数组就换行
   } 
3.取最大值或最小值
第一种 for循环
 int max=-999999,min=99999999;
 for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a[i].length; j++) {
       if(max<=a[i][j]){
           max=a[i][j];
       }
       if(min>=a[i][j]){
           min=a[i][j];
        }
     }
 }
 System.out.println("二维数组中最大值为:"+max);
 System.out.println("二维数组中最小值为:"+min);  
第二种 foreach
 //foreach循环(底层为迭代器)
//foreach定义一个新数组来接收原数组的地址
  for (int[]data : a) {
     //把原数组的地址赋值给新数组
        for (int i : data) {
             if(i>max){
                max=i;
             }
             if(i<min){
                min=i;
              }
         }
    }
    System.out.println("二维数组中最大值为:"+max);
    System.out.println("二维数组中最小值为:"+min);        

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号