• Java基础之二维数组


    二维数组概念

    二维数组的概念
    对于二维数组的理解,我们可以看成一位数组arrary1有作为另一个一维数组arrary2的元素存在。从底层机制来看没有多维数组概念
    2二维数组的使用
    二维数组的声明与初始化
    如何调用指定的元素
    如何获取数组的长度
    数组元素默认初始化值
    数组的内存解析
    初始化
    二维数组的声明与初始化
            int[] arrq = new int[]{1,2,3};//一维数组的静态
    
            //动态初始化
            String [][] arr3 = new String[3][];//正确。但元素2未赋值调用会报空指针
             String[][] arr2 = new String[3][2];//正确
            //调用数组元素
            int[][] arr1 =  new int[][]{{1,2,3},{4,5},{6,7,8}};//静态初始化
            System.out.println(arr1[0][1]);
    测试
    2
    null
    

      调用数组元素2

     String [][] arr3 = new String[3][];//正确;但里面数组未赋值,不能调用
             String[][] arr2 = new String[3][2];//正确
            //调用数组元素
            int[][] arr1 =  new int[][]{{1,2,3},{4,5},{6,7,8}};//静态初始化
            System.out.println(arr1[0][1]);
            System.out.println(arr2[1][1]);
            System.out.println("
    
    ");  //打印两个换行
            arr3[1] = new String[4];//初始化arr3[1]这个元素
            //调用这个arr3[1][0]元素的值
            System.out.println(arr3[1][0]);
    测试
    2
    null
    
    
    
    null
    

      获取数组长度

            int[][] arr1 =  new int[][]{{1,2,3},{4,5},{6,7,8}};//静态初始化
            System.out.println("外围数组长度: "+arr1.length); //获取外围数组的长度
            System.out.println("内层循环下标1(从0开始)的数组长度: "+arr1[1].length);//获取内层数组的长度
            System.out.println("****************************************************************");
    测试
    
    外围数组长度: 3
    内层循环下标1(从0开始)的数组长度: 2
    ****************************************************************
    

      

      遍历二维数组

    for (int i =0; i<arr2.length;i++){
                 for (int z=0; z<arr2[i].length;z++){
                     //System.out.println(arr2[i]);
                     System.out.println("********");
                     System.out.println(arr2[i][z]);
                 }
             }
    测试
    ********
    null
    ********
    null
    ********
    null
    ********
    null
    ********
    null
    ********
    null
    

      默认初始化值

    String[][] arr2 = new String[3][2];//正确
    for (int i =0; i<arr2.length;i++){
                 for (int z=0; z<arr2[i].length;z++){
                     System.out.println(arr2[i]);//内存地址
                     System.out.println("********");
                     System.out.println(arr2[i][z]);//null
                 }
             }
    
    测试
    [Ljava.lang.String;@1540e19d
    ********
    null
    [Ljava.lang.String;@1540e19d
    ********
    null
    [Ljava.lang.String;@677327b6
    ********
    null
    [Ljava.lang.String;@677327b6
    ********
    null
    [Ljava.lang.String;@14ae5a5
    ********
    null
    [Ljava.lang.String;@14ae5a5
    ********
    null
    

      打印杨晖三角

     for (int i=0; i<yanghuisanjiao.length;i++){
                yanghuisanjiao[i] = new int[i+1];
                //连续赋值
                yanghuisanjiao[i][0] = yanghuisanjiao[i][i] =1;
                if (i>1){
                    for (int j = 1; j<yanghuisanjiao[i].length-1;j++ ){
                        yanghuisanjiao[i][j]= yanghuisanjiao[i-1][j-1]+ yanghuisanjiao[i-1][j];
                    }
                }
    
            }
            for (int i =0; i<yanghuisanjiao.length;i++){
                for (int j=0; j<yanghuisanjiao[i].length;j++){
    
    
                    System.out.print(yanghuisanjiao[i][j]+" ");
                }
                System.out.println();
            }
    测试
    1 
    1 1 
    1 2 1 
    1 3 3 1 
    1 4 6 4 1 
    1 5 10 10 5 1 
    1 6 15 20 15 6 1 
    1 7 21 35 35 21 7 1 
    1 8 28 56 70 56 28 8 1 
    1 9 36 84 126 126 84 36 9 1 
    

      

      




  • 相关阅读:
    Docker创建tomcat镜像简单使用
    Eclipse和Jdk版本问题
    HashTable源码阅读
    HashMap源码阅读
    报错:Multiple annotations found at this line:
    python全栈开发学习03
    python全栈开发学习 02
    关于termux在手机上搭载Linux系统,python,ssh
    python全栈开发学习 01
    机器学习实战
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/13412149.html
Copyright © 2020-2023  润新知