首页 > 其他分享 >09-二维数组

09-二维数组

时间:2023-07-22 10:35:05浏览次数:55  
标签:arr 数组 int 09 数据类型 二维 一维 new

二维数组介绍

在Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组

二维数组的声明和创建

数组定义格式:

a) 数据类型[][] 数组名; 例如 int[][] array; //首选的方法

b) 数据类型 数组名[][]; 例如 int array[][]; //不是首选的方法,但效果相同

二维数组的初始化

a) 动态初始化:在声明的同时创建数组对象

格式:数据类型[][] 数组名 = new 数据类型[二维数组的长度][一维数组的长度];

例如 int[][] arr = new int[2][3];  arr数组里面有两个一维数组,每个一维数组里面有三个元素

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

        //动态初始化:在声明的同时创建数组对象
        //格式:数据类型[][] 数组名 = new 数据类型[二维数组的长度][一维数组的长度];

        //arr数组里面有两个一维数组,每个一维数组里面有三个元素
        int[][] arr = new int[2][3];

        //遍历arr的每个一维数组
        for(int i = 0; i < arr.length; i++){
            //遍历一维数组的每个元素(数组)
            for(int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println("");
        }
    }
}

b) 动态初始化:先声明再定义数组对象(开辟数组空间)

格式:数据类型[][] 数组名 = new 数据类型[二维数组的长度][];

例如 int[][] arr = new int[2][];  arr数组里面有两个一维数组,但每个一维数组里面的元素个素可以是不一样的

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

        /**
         * 动态初始化:先声明再定义数组对象(开辟数组空间)
         * 格式:数据类型[][] 数组名 = new 数据类型[二维数组的长度][];
         *
         * 有一个需求:动态地创建一个二维数组,并输出
         *
         * i = 0: 1
         * i = 1: 2  2
         * i = 2: 3  3  3
         *
         * 一共有三个一维数组,每个一维数组的元素是不一样的
         *
         */
        
        //arr数组里面有两个一维数组,但每个一维数组里面的元素个素可以是不一样的
        int[][] arr = new int[3][];

        //遍历arr的每个一维数组
        for(int i = 0; i < arr.length; i++){
            //这里需要注意,要给每个一维数组开辟空间 new
            //如果没有给一维数组 new ,那么 arr[i] 就是 null
            arr[i] = new int[i + 1];

            //遍历一维数组,并给一维数组的每个元素赋值
            for(int j = 0; j < arr[i].length; j++){
                arr[i][j] = i + 1;
            }
        }

        //输出,遍历
        for(int i = 0; i < arr.length; i++){
            for(int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println("");
        }

    }
}

c) 静态初始化:在声明的同时对数组进行赋值

完整格式为:数据类型[ ] 数组名 = new 数据类型[ ]{元素1,元素2,元素3…};

简化格式为:数据类型[ ] 数组名 = {元素1,元素2,元素3…};

 

标签:arr,数组,int,09,数据类型,二维,一维,new
From: https://www.cnblogs.com/REN-Murphy/p/17572877.html

相关文章

  • java 将json 转成对象数组
    将JSON转换为对象数组的步骤作为一名经验丰富的开发者,我将为你介绍如何将JSON数据转换为对象数组。这是一个非常常见的操作,而且在Java中也非常简单。下面是整个过程的步骤概览:步骤动作1.导入JSON库在你的项目中导入JSON库,以便能够处理JSON数据。2.创......
  • ERROR 1709 (HY000): Index column size too large. The maximum column size is 767
    MySQL版本5.6.35在一个长度为512字符的字段上创建uniquekey报错CREATEDATABASEdpcs_metadataDEFAULTCHARACTERSETutf8;select*frominformation_schema.SCHEMATA;+--------------+--------------------+----------------------------+------------------------+---......
  • 080901
    自考List日期AMPMAMPM23年10月概率论与数理统计数据库系统原理近代史网络原理24年4月Java语言程序设计操作系统C++程序设计高等数学24年10月离散数学计算机系统结构软件工程25年4月数据结构四月自考科目AMPMAMPM离散数学......
  • Javascript数组sort方法的分析(转)
    特点:类似java的Comparatorjava:Arrays.sort(values,newComparator<Integer>(){publicintcompare(Integervalue1,Integervalue2){returnvalue2-value1;}});javascript:varvalues=[213,16,2058,54,10,1965,57,9];values.sort(fu......
  • 3.数组与指针(a和&a)的区别
    定义一个数组:inta[4]={0,1,2,3};a是数组名,它是数组的首地址,a+1表示第二个元素的地址,*(a+1)=a[1]。定义两个指针:int(*p)[4]=&a;这说明&a和int(*p)[4]一样都是int(*)[4]类型表示指向数组的指针,&a+1,p+1操作后两者就指向了数组的尾后元素,注意不能解引用int*p=a;这说明a和int*......
  • 二维码生成
    生成二维码classQRlogin(ViewSet):@action(methods=['GET'],detail=False)defscan(self,request,*args,**kwargs):img=qrcode.make("http://127.0.0.1:8000/api/v1/user/qrlogin/login/?user_id=1")img=img.get_image(......
  • tp6生成链接内容二维码
    1.composer安装composerrequireendroid/qr-code2.相关类的引用useEndroid\QrCode\Color\Color;useEndroid\QrCode\Encoding\Encoding;useEndroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;useEndroid\QrCode\QrCode;useEndroid\QrCode\L......
  • 递归优化策略(数组存储)
    优化原因:有重复计算解决方案:用数组记录下一些会重复用到的数据,方便直接调用eg(虽然此题不适用)longlongpell(intm){if(m==1){return1;}elseif(m==2){return2;}elseif(a[m]!=0)//判断是否算过{returna[m];//算过的话直接调......
  • 二维数组之个人考试成绩统计
     从b站上黑马程序员的C++课里学到的个人成绩统计  1#include<iostream>2#include<string.h>3usingnamespacestd;4intmain()5{6intscores[3][3]=7{8{100,100,100},9{90,50,100},10{60,70,80}11......
  • 一维数组之元素逆置
    从b站上黑马程序员的C++课里学到的元素逆置  1#include<iostream>2usingnamespacestd;3intmain()4{5intarr[5]={1,2,3,4,5};6intstart=0;//起始下标7intend=sizeof(arr)/sizeof(arr[0])-1;//结束下标=元素个数-1......