Java由浅入深细数数组的操作下

上一篇介绍完一维数组后,我们来看二维数组

1.二维数组的存储

在C语言中我们说过:二维数组可以看成是特殊的一位数组,比如int arr[2][3],arr可以看成由两个元素组成,即arr[0]和arr[1],arr[0]和arr[1]各自又有三个元素,这句话在Java中同样适用,一维数组中arr存储的是一个地址,二维数组中则是多个地址,以上面的arr数组为例,其在JVM中的存储如下:

Java由浅入深细数数组的操作下_第1张图片

2.二维数组的定义和初始化

和一维数组类似,二维数组的定义和初始化同样有三种:

int[][] arr1={{1,2,3},{4,5,6}};
int[][] arr2=new int[][] {{1,2,3},{4,5,6}};
int[][] arr3=new int[2][3];    //同样数组元素的值为0

3.打印二维数组

使用的依旧是在一维数组中使用的方法

  • 嵌套for循环

需要注意的是,此时arr.length的值表示的是行数,arr[i].length的值是第i行的数组有多少个元素,即列数

  • foreach

foreach语句依旧可以使用,同样是嵌套的foreach,使用方法如下图:

Java由浅入深细数数组的操作下_第2张图片

  • Arrays.deepToString()

 Arrays.toString()只能作用于一维数组,二维数组打印出来的是处理后的地址

Java由浅入深细数数组的操作下_第3张图片

所以使用 Arrays.deepToString()将二维数组转换为字符串

Java由浅入深细数数组的操作下_第4张图片

4.不规则二维数组

Java中的二维数组每一行都可以单独指定列数,具体操作如下:

Java由浅入深细数数组的操作下_第5张图片

5.Arrays中常用的方法

  • Arrays包中有很多操作数组的方法,在这对其常用的一些方法进行总结 
  • Arrays.toString():将一维数组内容转换成字符串
  • Arrays.deepToString():将二维数组内容转换成字符串
  • Arrays.copyOf():拷贝数组,有两个参数,分别是要拷贝的数组的名称和拷贝的长度,返回值是数组
  • Arrays.copyOfRange():拷贝数组,可设定起始和结束位置,两端取值是左闭右开
  • Arrays.binarySearch():数组中二分查找搜索指定值,找到返回值的下标,没有则返回负数
  • Arrays.fill():填充数组内容,可以选择局部填充或全部填充Arrays.sort():对数组进行排序,排序方式是升序

数组内容就到此结束,完

你可能感兴趣的:(Java由浅入深细数数组的操作下)