这一章节我们来讨论一下多维数组。
1.例子:
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[][] a = new int[2][2];
System.out.println(Arrays.deepToString(a));
}
}
输出:
[[0, 0], [0, 0]]
上面的代码是固定长度的多维数组。
2.创建的几种形式
第一种:
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[][] a = new int[2][2];
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;
System.out.println(Arrays.deepToString(a));
}
}
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[][] a = { { 1, 2 }, { 3, 4 } };
System.out.println(Arrays.deepToString(a));
}
}
第三种:
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[][] a = new int[2][2];
// a[0] = { 1, 2 };//error,这种赋值方式只能够在初始化的时候使用
// a[0]=1;//error,a[0]是数组
a[0] = new int[] { 1, 2 };
a[1] = new int[] { 3, 4 };
int[] b = { 1, 2 };
System.out.println(Arrays.deepToString(a));
}
}
上面的代码需要注意一下就是a[0]的赋值必须是new出来,不能够使用上面的那种。
但是下面的数组b可以直接执行某一个数组,因为这种方式的赋值只能够使用在初始化的时候。
第四种:
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[][] a = new int[][] { { 1, 2 }, { 3, 4 } };
System.out.println(Arrays.deepToString(a));
}
}
3.注意点
例子:
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// int[][][] a1 = new int[][][2];//error
// int[][][] a2 = new int[][2][];//error
// int[][][] a3 = new int[2][][2];//error
// int[][][] a4 = new int[][][];//error
int[][][] a = new int[2][][];
System.out.println(Arrays.deepToString(a));
}
}
观察上面的代码,我们得出下面结论:
1.控制长度的数字是可以为空的
2.有长度控制的维度之前的那个维度必须也是有长度控制,这里比较绕口,请观察a1,a2,a3,a4
3.至少有一个长度控制的维度
4.初始化无长度控制的维度
package com.ray.ch14;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// int[][][] a1 = new int[][][2];//error
// int[][][] a2 = new int[][2][];//error
// int[][][] a3 = new int[2][][2];//error
int[][][] a = new int[2][][];
a[0] = new int[][] { { 1, 2 }, { 3, 4 } };
a[1] = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
System.out.println(Arrays.deepToString(a));
}
}
输出:
[[[1, 2], [3, 4]], [[1, 2], [3, 4], [5, 6]]]
5.使用场景
多维数组一般是用于矩阵的展示和计算。
总结:这一章节我们介绍了多维数组的几个基础方面。
这一章节就到这里,谢谢。
-----------------------------------