java 二维数组
Posted DQ_CODING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 二维数组相关的知识,希望对你有一定的参考价值。
声明和初始化
静态初始化
// 静态初始化:
// 一维数组
int[] arr1_1 = 1, 2, 4;
System.out.println(Arrays.toString(arr1_1));
// 二维数组
int[][] arr1_2 = 1, 2, 4, 5, 9, 10;
for (int[] i :
arr1_2)
System.out.print(Arrays.toString(i));
System.out.println();
动态初始化
// 动态初始化
// 一维数组
int[] arr2_1 = new int[3];
arr2_1[0] = 1;
arr2_1[1] = 2;
arr2_1[2] = 4;
System.out.println(Arrays.toString(arr2_1));
// 二维数组1
int[][] arr2_2 = new int[3][2];
arr2_2[0][0] = 1;
arr2_2[0][1] = 2;
arr2_2[1][0] = 4;
arr2_2[1][1] = 5;
arr2_2[2][0] = 9;
arr2_2[2][1] = 10;
for (int[] i :
arr2_2)
System.out.print(Arrays.toString(i));
System.out.println();
// 二维数组2
int[][] arr2_3 = new int[3][];
arr2_3[0] = new int[]1, 2;
arr2_3[1] = new int[]4, 5;
arr2_3[2] = new int[]9, 10;
for (int[] i :
arr2_3)
System.out.print(Arrays.toString(i));
写法
一维数组
// 写法:
// 一维数组1
int[] arr3_1 = new int[9];
// 一维数组2
int arr3_2[] = new int[9];
// 一维数组3
int arr3_3[] = new int[]8, 3, 4;
// 一维数组4-类型推断
int arr3_4[] = 8, 3, 4;
二维数组
// 二维数组1
int[][] arr4_1 = new int[3][2];
// 二维数组2
int arr4_2[][] = new int[3][2];
// 二维数组3
int[] arr4_3[] = new int[3][2];
// 二维数组4
int[][] arr4_4 = new int[][]1, 2, 4, 5, 9, 10;
// 二维数组5-类型推断
int[][] arr4_5 = 1, 2, 4, 5, 9, 10;
声明和初始化总代码
package lesson.l7_array;
import java.util.Arrays;
/**
* Illustration
*
* @author DengQing
* @version 1.0
* @datetime 2022/5/7 18:17
* @function 二维数组
*/
public class TwoDimensionalArray
public static void main(String[] args)
// 静态初始化:
// 一维数组
int[] arr1_1 = 1, 2, 4;
System.out.println(Arrays.toString(arr1_1));
// 二维数组
int[][] arr1_2 = 1, 2, 4, 5, 9, 10;
for (int[] i :
arr1_2)
System.out.print(Arrays.toString(i));
System.out.println();
// 动态初始化
// 一维数组
int[] arr2_1 = new int[3];
arr2_1[0] = 1;
arr2_1[1] = 2;
arr2_1[2] = 4;
System.out.println(Arrays.toString(arr2_1));
// 二维数组1
int[][] arr2_2 = new int[3][2];
arr2_2[0][0] = 1;
arr2_2[0][1] = 2;
arr2_2[1][0] = 4;
arr2_2[1][1] = 5;
arr2_2[2][0] = 9;
arr2_2[2][1] = 10;
for (int[] i :
arr2_2)
System.out.print(Arrays.toString(i));
System.out.println();
// 二维数组2
int[][] arr2_3 = new int[3][];
arr2_3[0] = new int[]1, 2;
arr2_3[1] = new int[]4, 5;
arr2_3[2] = new int[]9, 10;
for (int[] i :
arr2_3)
System.out.print(Arrays.toString(i));
// 写法:
// 一维数组1
int[] arr3_1 = new int[9];
// 一维数组2
int arr3_2[] = new int[9];
// 一维数组3
int arr3_3[] = new int[]8, 3, 4;
// 一维数组4-类型推断
int arr3_4[] = 8, 3, 4;
// 二维数组1
int[][] arr4_1 = new int[3][2];
// 二维数组2
int arr4_2[][] = new int[3][2];
// 二维数组3
int[] arr4_3[] = new int[3][2];
// 二维数组4
int[][] arr4_4 = new int[][]1, 2, 4, 5, 9, 10;
// 二维数组5-类型推断
int[][] arr4_5 = 1, 2, 4, 5, 9, 10;
二维数组的长度
int [][]arr1=new int[][]1,2,8,9,10,-1;
// 二维数组的行-外层的
System.out.println(arr1.length);//3
// 二维数组的列-内部的
System.out.println(arr1[0].length);//2
System.out.println(arr1[1].length);//3
System.out.println(arr1[2].length);//1
二维数组的遍历
方法1
// 二维数组的遍历
// 方法1:两层for循环
for (int i = 0; i < arr.length; i++)
for (int j = 0; j < arr[i].length; j++)
/*1 2
8 9 10
-1 */
System.out.print(arr[i][j]+"\\t");
System.out.println();
方法2
// 方法2:foreach+Arrays.toString
for (int[] a:
arr)
// [1, 2][8, 9, 10][-1]
System.out.print(Arrays.toString(a));
默认初始值
public class TwoDimensionalArray3
public static void main(String[] args)
// 一维数组
int[]a=new int[2];
System.out.println(a);//[I@43a25848
System.out.println(a[0]);//0
System.out.println(a[1]);//0
// 二维数组1
int[][]arr=new int[3][4];
System.out.println(arr);//[[I@3ac3fd8b
// 外层元素
/*[I@43a25848:
* [一个代表存的是一维数组
* I代表是int型
* 43a25848代表地址*/
System.out.println(arr[0]);//[I@43a25848
System.out.println(arr[1]);//[I@3ac3fd8b
// 内层元素
System.out.println(arr[0][0]);//0
System.out.println(arr[1][1]);//0
// 二位数组2
int[][]array=new int[3][];
System.out.println(array);//[[I@3b6eb2ec
// 外层元素
/*null:列存的是一维数组,是引用类型,为null*/
System.out.println(array[0]);//null
System.out.println(array[1]);//null
内存解析
案例1
案例2
案例3
案例4:
练习
以上是关于java 二维数组的主要内容,如果未能解决你的问题,请参考以下文章