Java中的数组——二维数组

1、二维数组的相关介绍

  1. Java中操作多位数组的语法与一维数组类似。在实际应用中,三维以上的数组很少使用,主要使用二维数组。
  2. 二维数组是一个元素为一维数组的一维数组。
  3. 从语法上Java支持多维数组,但从内存分配原理的角度看,Java中只有一维数组,没有多维数组。或者说,从表面上是多维数组,实质上都是一维数组。
  4. 定义二维数组的语法格式如下:

                数据类型[][] 数组名;

        或者: 

                数据类型 数组名[][];

                需要注意的是数据类型为数组元素的类型。

                “[][]”用于表明定义了一个二维数组,通过多个下标进行数据访问。

                “数组名[下标]”表示二维数组里的一个元素,这个元素还是一个一维数组。

                “数组名[下标][下标]”表示二维数组里的一个元素(一维数组)里的一个元素。

如下代码:

//数据类型[][] 数组名
int[][] nums1;
//数据类型 数组名[][]
int nums2[][];

 2、二维数组的使用

(1)初始化二维数组

         二维数组初始化的语法格式如下:

                数据类型[][] 数组名 = new 数据类型[][]{ {元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};

           或者:

                   数据类型[][] 数组名 = { {元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}}; 

二维数组的初始化代码如下所示:

//数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};
int[][] nums1=new int[][]{{1,2,3},{1,2,3},{1,2,3}};
//数据类型[][] 数组名 ={{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};
int[][] nums2={{1,2,3},{1,2,3},{1,2,3}};

(2)二维数组的遍历

        因为二维数组是由两个两个一维数组组成的,因此要对其进行遍历就要用到双重for循环,具体的遍历语法格式如下:           

           for(int i = 0;i<数组名.length;i++){

                for(int j = 0;j<数组名[i].length;j++){

                        System.out.println(数组名[i][j]);

                }

        }

遍历的具体实现代码如下:

for(int i=0;i<nums.length;i++){
    for(int j=0;j<nums[i].length;j++){
        System.out.println(nums[i][j]);
    }
}

 3、二维数组的实例应用

      定义一个4行4列的二维数组, 逐个从键盘输入值,然后将第1行和第4行的数据进行交换, 将第2行和第3行的数据进行交换,具体实现代码如下:


import java.util.Arrays;
import java.util.Scanner;

public class Demo07 {
	public static void main(String[] args) {
		// 定义Scanner类
		Scanner sc = new Scanner(System.in);
		// 定义一个4行4列的二维数组
		int[][] nums = new int[4][4];
		// 利用双重for循环录入二维数组中的元素
		for (int i = 0; i < nums.length; i++) {
			for (int j = 0; j < nums[i].length; j++) {
				System.out.println("请输入第" + (i + 1) + "行第" + (j + 1) + "列的元素:");
				nums[i][j] = sc.nextInt();
			}
		}
		// 定义一个新的4行4列的数组并按要求将录入的数组存储在新数组中
		int[][] nums1 = new int[4][4];

		for (int i = 0; i < nums.length; i++) {
			nums1[0][i] = nums[3][i];
			nums1[1][i] = nums[2][i];
			nums1[2][i] = nums[1][i];
			nums1[3][i] = nums[0][i];
		}
		sc.close();
		// 输出录入的二维数组
		System.out.println("你输入的数组是:");
		for (int n = 0; n <=3; n++) {
			System.out.println(Arrays.toString(nums[n]));

		}
		// 输出改变后的数组
		System.out.println("交换后的的数组是:");
		for (int m = 0; m <=3; m++) {
			System.out.println(Arrays.toString(nums1[m]));

		}
	}

}

4、数组操作类Arrays类

        在上面的二维数组的实例应用中我们用到了Arrays类中的toString方法,因此下面我们来介绍下Java中的数组操作类Arrays类;

      (1)JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于java.util包中。

      (2)该类提供了一系列方法来操作数组,如排序、复制、比较、填充等,用户直接调用这些方法即可,不需要自己编码实现,降低了开发难度。

      (3)Arrays类的常用方法介绍

                1)equals(array1,array2)方法,比较两个数组是否相等

                      Arrays类的equals()方法用于比较两个数组是否相等。只有当两个数组长度相等,对

              应位置的元素也一一相等时,该方法返回true;否则返回false。 

                2)sort(array)方法,对数组进行升序排列

                        Arrays类的sort()方法对数组的元素进行升序排列,即以从小到大的顺序排列。

                3)toString(array)方法,将数组转换成字符串     

                     Arrays类中提供了专门输出数组内容的方法——toString()方法。该方法用于将一个数

                    组转换成一个字符串。它按顺序把多个数组元素连在一起,多个数组元素之间使用英

                    文逗号和空格隔开。利用这种方法可以很清楚地观察到各个数组元素的值。

                4)fill(array,val)方法,将数组中的所有元素赋值为相同的值。

                     Arrays类的fill(array,val)方法用于把数组array的所有元素都赋值为val。

                5)copyOf(array,length)方法,将数组复制成一个长度为设定值的新数组

                      使用Arrays类的copyOf()方法把数组复制成一个长度为设定值的新数组。

                6)binarySearch(array,val)方法,查询元素在数组中的下标

                       Arrays类的binarySearch()方法用于查询数组元素在数组中的下标。

                      调用该方法时要求数组中的元素已经按升序排列,这样才能得到正确的结果。

版权声明:本文为博主作者:周青灯原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_44997138/article/details/129388906

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2024年1月3日
下一篇 2024年1月3日

相关推荐