二维数组

二位数组的概述:
其实二维数组就是一个元素为一位数组的数组。

二维数组定义格式
格式一:
数据类型[][] 变量名 =new 数据类型[m
][n]
m 表示这个二维数组有多少个一维数组
n表示每一个一维数组的元素个数

举例:

public class ArryDemo3 {

        public static void main(String[] args) {

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

            System.out.println(arr);//地址值[[I@19bfb30
            System.out.println(arr[0]);//[I@1884174
            System.out.println(arr[1]);//[I@814013
            System.out.println(arr[2]);//[I@195d4fe

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

        }
}

格式2:
数据类型[][]变量名 = new 数据类型[m][]
m 表示这个二维数组有多少个一维数组
举例:

public class ArryDemo3 {

        public static void main(String[] args) {

            int[][] arr = new int[3][];
            arr[0] = new int[3];
            arr[1] = new int[2];
            arr[2] = new int[3];

            System.out.println(arr);//地址值[[I@1884174
            System.out.println(arr[0]);//[I@814013
            System.out.println(arr[1]);//[I@195d4fe
            System.out.println(arr[2]);//[I@1d2b01b
            
System.out.println(arr[0][2]);//0

        }
}

格式三:
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
{}中{}的个数表示一维数组的个数

举例:

public class ArryDemo3 {

   public static void main(String[] args) {

           int[][] arr = {{1,2,3},{2,3,4},{5,6,7}};

           System.out.println(arr);//地址值[[I@55d93d
            System.out.println(arr[0]);//[I@296f76
            System.out.println(arr[1]);//[I@54c4ad
            System.out.println(arr[2]);//[I@13c7378

System.out.println(arr[0][1]//打印出第一个数组的第二个数是2
System.out.println(arr[0][0]);//打印出第一个数组的第一个数是1
System.out.println(arr[1][2]);//打印出第二个数组的第三个数是4
        }
}

二维数组的遍历
for循环实现二维数组的遍历;

public class ArryDemo3 {

  public static void main(String[] args) {

            //定义一个数组
       int[][] arr = {{1,23,22},{2,3,33},{45,56,78}};
        //采用for循环进行遍历
      for(int x = 0;  x < arr[0].length;  x++) {
          System.out.println(arr[0][x]);
      }
      System.out.println("----------------");

      //打印第二个数组里的值
      for(int x = 0;  x < arr[1].length;  x++) {
          System.out.println(arr[1][x]);
      }
      System.out.println("----------------");

      //用一个for循环来实现打印三个数组


      //先取出二维数组的长度
      for(int x = 0; x < arr.length; x++) {
          //取出二维数组中一维数组的长度
          for(int y = 0; y < arr[x].length; y++) {
             System.out.print(arr[x][y] +" ");
          }
          System.out.println();
      }
        }
}

输出结果

1
23
22
----------------
2
3
33
----------------
1 23 22 
2 3 33 
45 56 78 

用一对for循环进行嵌套区遍历二维数组
外循环用来遍历二维数组
内循环用来遍历二维数组中的一维数组

打印杨辉三角

import java.util.Scanner;

public class YangHui {

    public static void main(String[] args) {
        //定义键盘录入
        Scanner input = new Scanner(System.in);
        //提示
        System.out.println("输入数据:");
        int n = input.nextInt();

        //定义二维数组
        int[][] arr = new int[n][n];
        //每一行的第一个数和最后一个数都是1
        for(int x = 0;x < arr.length; x++) {
            //每一行的第一个数
            arr[x][0] = 1;
            //每一行的最后一个数
            arr[x][x] = 1;
        }
        //第三行开始,每一行的数据=斜一行的前一列数据+斜一行的当前列的数据之和 (最后一行除外 )
          for(int x = 2; x < arr.length; x++) {
              for(int y = 1; y < arr[x].length; y++) {
                  arr[x][y] = arr[x-1][y-1]+arr[x-1][y];
              }
          }
        //调用方法来测试
           print(arr);
    }
//采用9*9乘法表打印方式区打印 int y = 0; y <= x; y++
    public static void print(int[][] arr) {

        for(int x = 0; x < arr.length; x++) {
            for(int y = 0; y <= x; y++) {
                System.out.print(arr[x][y] +" ");
            }
            System.out.println();
        }
    }
}

输入数据:
6
1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 

这里我在键盘录入我输入了6 ,当然你可以任意输入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值