java基础——二维数组基本概念(java二维数组的用法)

  本篇文章为你整理了java基础——二维数组基本概念(java二维数组的用法)的详细内容,包含有二维数组 java java二维数组的用法 java二维数组是什么 java中二维数组的定义 java基础——二维数组基本概念,希望能帮助你了解 java基础——二维数组基本概念。

  之前我们已经知道什么是 数组(一维数组)java 基础——数组,数组的存取

  

  这里补充一点:数组本身是引用数据类型 ,数组的元素可以是基本数据类型跟引用数据类型

  

  那么?什么是二维数组?

  

  官方定义:以一维数组作为一维数组元素的数组

  

  要是有点绕,不好理解,没关系,简单来说,就是一维数组里面存一维数组 ,这就是二维数组

  

  到这,是不是已经基本明白了二维数组的概念了

  

  现在我们直接来看语法:

  

  
2. 二维数组语法格式

  

  
数据类型 [][] 标识符(自己取的名字)={ {},{},{} .....}

  
 

  
从外表来看二维数组就比一位数组 多 加了个 [ ], 数组内的元素也不是 个数了,而是 { } ,这个代表的是一个一维数组,里面内容一样是元素

  

  
数据类型 [][] 标识符(自己取的名字)= new 数据类型[数组里元素个数][每个元素里面一维数组长度]

  
来看个图解

  

  

  声明一个二维数组array1,里面有三个元素,每个元素里面有两个元素的数组

  

  3. 二维数组的取值

  

  单个取值

  

  二维数组的取值呢,跟一维数组还是有差别的

  

  比如下面这个例子,我们要获取这个二维数组中的 6

  

  

 int[][] arr2 = {{1,2,3},{2,3},{6,3,9}};

 

  

  这边我们可以理解成一个平面坐标系,坐标系我们都知道,(x,y)我们可以确定一个平面点的位置,这边也一样

  

  首先可以看出这个二维数组里面有三个元素:

  

  元素1:下标 0 (数组的角标从0 开始),{1,2,3}

  元素2:下标 1,{2,3}

  元素3:下标 2,{6,3,9}

  

  每个元素又是一个数组,下标还是从0 开始

  

  所以 我们获取 6 这个元素arr2[2][0], 意味着 6 在这个 二维数组中 元素3 (下标2) 里面 的 数组 的 第1个(下标0) 元素

  

 int[][] arr2 = {{1,2,3},{2,3},{6,3,9}};

 

   System.out.println(arr2[2][0]);

  

 

  

  

  

  这种方式的也一样:int[][]array1=newint[3][2];

  

  

  

  

  可以理解成 3 行 2 列

  

  遍历取值

  

  我们来看看二维数组是怎么遍历的,这边我们就需要两层 for循环了

  

  

  比如:

  

  遍历 int[][] arr2 = {{1,2,3},{6,3,9,10}};

  

  

 int[][] arr2 = {{1,2,3},{6,3,9,10}};

 

  
System.out.println("----------基本循环----------");

   for (int i = 0; i arr2.length; i++) {

   for (int j = 0;j arr2[i].length;j++) {

   System.out.print(arr2[i][j]+" ");

   System.out.println();

   System.out.println("----------增强for循环----------");

   for (int[] ints : arr2) {

   for (int anInt : ints) {

   System.out.print(anInt+" ");

  

 

   输出结果:

  

  

  4. 存值

  二维数组的 存值 你可以 一个一个来, arr[0][0] 。。。。

  

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

 

   arr[0][0] = 1;

   arr[0][1] = 3;

   arr[1][0] = 5;

   arr[1][1] = 7;

   arr[2][0] = 9;

   arr[2][1] =11;

   for (int[] ints : arr) {

   for (int anInt : ints) {

   System.out.println(anInt);

  

 

  当然里面是存的一维数组,你也可以这样,比如有两个一维数组 ,一维数组的值怎么来,就不用多说了,除了常规添加外,java 基础——数组可以看看逗号隔开字符串转数组方法 (开发中数组转字符串,转list集合用的很多)

  

  比如 现在有两个字符串,要存储到二维数组中

  

 //定义一个二维数组

 

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

   String str1 = "2,3,6,9";

   String str2 = "11,13";

   //字符串转数组

   String[] split = str1.split(",");

   String[] split1 = str2.split(",");

   //将二维数组第一个元素的值设置为 一维数组 split

   arr[0] = split;

   //将二维数组第二个元素的值设置为 一维数组 split1

   arr[1] = split1;

   //输出看看

   for (String[] strings : arr) {

   for (String string : strings) {

   System.out.println(string);

  

 

  

  这里也可以看到二维数组中 一维数组的长度可以不一样 ,第三个没有元素,就是我们定义的默认一维数组长度 2 了,为null

  

  

  

  扩展 :二维数组的初始化内存解析 (有的面试会问,有个印象)

  

  现在我们知道了二维数组 获取单个 元素,以及 遍历 , 下面我们来加深下对二维数组的理解

  

  一般我们声明二维数组的初始化,

  

  

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

 

  

 

  它的外层元素:arr[0] arr[1] arr[2] .....

  

  它的内层元素:arr[0][0] arr[1][2] ......

  

  内层元素我们都知道,是获取一个具体的值

  

  那么?外层是什么东西呢?我们来打印一下

  

  

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

 

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

  

 

  

  可以看出它是一个地址值,这是二维元素 指向一位数组的地址值

  

  

  arr 才是栈 指向 二维数组的地址值

  

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

 

   System.out.println(arr);

  

 

  

  

  

  

  看出区别了没,一维数组一个[ 二维数组 两个[

  

  

  

  更多内容,还请关注【java资讯】 公众号

  

  以上就是java基础——二维数组基本概念(java二维数组的用法)的详细内容,想要了解更多 java基础——二维数组基本概念的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: