二维数组

二维数组

概念:存放一维数组的一维数组。
可理解为一个表格
二维数组创建语法:
1.先声明、再分配空间:
数据类型[][] 数组名;
数组名 = new 数据类型[高维长度][低维长度];
2.声明并分配空间:
数据类型[][] 数组名 = new 数据类型[高维长度][低维长度];
3.声明并赋值(繁):
数据类型[][] 数组名 = new 数据类型[高维长度][];//不规则数组,自行new低维数组
4.声明并赋值(简):
数据类型[] 数组名 = { {v1,v2,v3},{v4,v5},{v6,v7,v8,v9}};//显式初始化

第3种方式的代码说明:

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

        int arr[][] = new int[3][];
        //查看行数组中内容
        for (int i = 0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
        //上列的arr[3][],仅是声明了三个一维的数组(数组中存放的为地址,固默认值为null。)
        //为所声明的一维数组分配空间(每个存放地址的一维数组未指定长度)
        arr[0] = new int[5];
        arr[1] = new int[2];
        arr[2] = new int[1];
        //为所分配的空间赋值。
        arr[0][0] = 2;
        arr[0][1] = 2;
        arr[0][2] = 2;
        arr[0][3] = 2;
        arr[0][4] = 2;

        arr[1][0] = 2;
        arr[1][1] = 2;
        arr[2][0] = 2;

        //打印
        print(arr);
    }
    public static void print(int 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();
        }

    }
}

实例:杨辉三角

public class YangHuiSanJiao {
    public static void main(String[] args) {
        //定义了一个长度为10,高度为10的二维数组,数组中的值都为0;
        int[][] arr=new int[10][10];
        for(int i=0;i<arr.length; i++) {
            //由于只是给杨辉三角内的位置赋值,所以是j<=i
            for(int j=0;j<=i;j++) {
                //根据规律,使用if else 赋值
                if(j==0||j==i) {
                    arr[i][j]=1;
                }else {
                    arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
                }
				/*由于只是输出杨辉三角范围内的值,所以在内层循环就输出,这种方法不能全部赋值完之后再输出
					"\t"的原因是10和小于10的数组的宽度不同,所以使用\t制表符能使数与数之间距离相等
				*/
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值