JavaSE基础语法(Ⅳ)

前言

在JavaSE基础语法(Ⅲ)中,我们提到了数组的概念,并且详细的讲解了一维数组,它的声明,创建,以及访问等等。这篇文章,我们对一维数组进行扩展,上升到二维数组进行讲解,内容与一维数组大同小异,我们可以通过类比学习,掌握本章的知识内容。

1.二维数组

1.1 什么是二维数组?

学习了数组我们知道,数组就是相同数据类型元素的集合,就相当一个容器,里面存放了数据类型相同的各种数值,这样的一个容器就叫做数组。那么其中的元素,只是单个数值,这是一维数组。要是其中的元素是一个一维数组的话,这就是二维数组。
如下:

//一维数组
int[] a={1,2,3};
//二维数组
int[][] b={{1,2,3},{1,2,3},{1,2,3}};

1.2 二维数组的声明

由一维数组扩展,二维数组同样有两种声明方式:

int[][] a;
int b[][];//不建议

1.3 二维数组的创建

二维数组的创建有两种:静态创建和动态创建。
静态创建

//int[][] c=new int[①][②];
//①处填的应是二维数组的长度,②处为里面每一个一维数组的长度
int[][] c=new int[3][2];
//输出结果为:{{0,0},{0,0},{0,0}};
int[][] b={{1,2,3},{1,2,3},{1,2,3}};
int[][] d=new int[][]{{1,2,3},{1,2,3},{1,2,3}};

动态创建

int[][] f=new int[3][];//只创建一个二维数组,它里面的以为数组未创建为null
//输出结果为:{null,null,null}
//对每一个一维数组进行创建
int[] f1=new int[3];
int[] f2=new int[4];
int[] f3=new int[5];
f[0]=f1;
f[1]=f2;
f[2]=f3;
//输出结果为:{{0,0,0},{0,0,0,0},{0,0,0,0,0}}
//也可通过for循环进行遍历创建

1.4 二维数组的访问与迭代

在数组的访问中,我们提到了一个很关键的概念,就是索引,数组中每个空间都有一个下标,这就是索引。索引一般都为整数,从0开始,数组长度-1结束。

//一维数组的索引
//       0 1 2 3 4
int[] a={1,2,3,4,5}
        a[0]=1;
        a[1]=2;
        a[2]=3;
        a[3]=4;
        a[4]=5;
//二维数组的索引
//            0       1       2
//          0 1 2   0 1 2   0 1 2
int[][] b={{1,2,3},{1,2,3},{1,2,3}};
          b[0][0]=1;
          b[0][1]=2;
          b[0][2]=3;
          b[1][0]=1;
//第一个中括号里为二维数组的索引,第二个中括号里为二维数组中一维数组的索引       

1.5 二维数组的输出

我们学习到一维数组的输出,可以直接使用方法:

int[] a=new int[5];
System.out.println(Arrays.toString(a));

来进行输出。但是二维数组的输出是不能使用该方法的,我们只能通过for循环遍历来输出。

 int[][] c=new int[4][3];
        //输出二维数组
        for(int i=0;i< c.length;i++){
            for(int j=0;j<c[i].length;j++){
                System.out.print(c[i][j]+" ");
            }
            System.out.println();
        }

二维数组输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值