【贪玩巴斯】JAVA初学笔记——chapter3 JAVA基本语法中,二维数组的理解和六大使用!//2021-1-28

二维数组的使用




 1、二维数组的使用


 * 
 * 1.理解:


 * 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
 * 其实,从数组底层的运行机制来看,其实没有多维数组。
 * 
 * 2. 二维数组的使用:


 *   ① 二维数组的声明和初始化
 *   ② 如何调用数组的指定位置的元素
 *   ③ 如何获取数组的长度
 *   ④ 如何遍历数组
 *   ⑤ 数组元素的默认初始化值 :见 ArrayTest3.java
 *   ⑥ 数组的内存解析 :见 ArrayTest3.java
 * 
 * 
 */

 


public class ArrayTest2 {
    public static void main(String[] args) {

 

 

//1.二维数组的声明和初始化

 


        int[] arr = new int[]{1,2,3};//一维数组

        //静态初始化
        int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};

        //动态初始化1
        String[][] arr2 = new String[3][2];

        //动态初始化2
        String[][] arr3 = new String[3][];

        //错误的情况 
//        String[][] arr4 = new String[][4];
//        String[4][3] arr5 = new String[][];
//        int[][] arr6 = new int[4][3]{{1,2,3},{4,5},{6,7,8}};
        


        //也是正确的写法:
        int[] arr4[] = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};
        int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};

        //一维的也可以舍去,叫做推断
        

      

 //2.如何调用数组的指定位置的元素:

 

        System.out.println(arr1[0][1]);  //2
        System.out.println(arr2[1][1]);  //null
        
        arr3[1] = new String[4];
        System.out.println(arr3[1][0]);
         

 

 //3.获取数组的长度:

 

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


        System.out.println(arr4.length); //3
        System.out.println(arr4[0].length); //3
        System.out.println(arr4[1].length); //4
        

 

//4.如何遍历二维数组:


        二维数组需要两层for循环,三层需要三层。N层需要N层

 

        for(int i = 0;i < arr4.length;i++){
       
            for(int j = 0;j < arr4[i].length;j++){
                System.out.print(arr4[i][j] + "  ");
            }
            System.out.println();
        }
        
    }
}

/


 


 *     规定:二维数组分为外层数组的元素,内层数组的元素


 *         int[][] arr = new int[4][3];
 *         外层元素:arr[0],arr[1]等
 *         内层元素:arr[0][0],arr[1][2]等
 * 


// 5.数组元素的默认初始化值 :☆☆☆☆☆


      针对于初始化方式一:
      比如:


      int[][] arr = new int[4][3];
      外层元素的初始化值为:地址值
      内层元素的初始化值为:与一维数组初始化情况相同


     
      对于初始化方式二:
      比如:

      int[][] arr = new int[4][];
      外层元素的初始化值为:null
      内层元素的初始化值为:不能调用,否则报错。


 * 
 */

public class ArrayTest3 {
    public static void main(String[] args) {


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

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

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

        
//        System.out.println(arr);//[[I@6d06d69c
        
        System.out.println("*****************");


        float[][] arr1 = new float[4][3];
        System.out.println(arr1[0]);    //地址值
        System.out.println(arr1[0][0]);    //0.0
        
        System.out.println("*****************");

        
        String[][] arr2 = new String[4][2];
        System.out.println(arr2[1]);    //地址值
        System.out.println(arr2[1][1]);    //null
        
        System.out.println("*****************");


        double[][] arr3 = new double[4][];
        System.out.println(arr3[1]);    //null
//        System.out.println(arr3[1][0]);    //报错 空指针异常
        
    }
}

 

 

 

//6.二维数组的内存解析 :

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪玩巴斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值