Java中二维数组的用法(不定长二维数组),即每个第二维的数组长度不一样。
1》代码如下:
package com.demo.test;
public class Test {
public Test() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int [][] arrays;//声明一个二维数组
//初始化该二维数组的第一维
arrays =new int [3][];
//初始化该二维数组的第二维(不等长)
for(int i=0;i<arrays.length;i++){
arrays[i]=new int [i+1];
}
//初始化该二维数组
for(int i=0;i<arrays.length;i++){
for(int j=0;j<arrays[i].length;j++){
arrays[i][j]=i+j;
}
}
//输出显示该二维数组
/*for(int i=0;i<arrays.length;i++){
for(int j=0;j<arrays[i].length;j++){
System.out.print("["+i+"]["+j+"]:"+arrays[i][j]+" ");
}
System.out.println();
}*/
for (int[] demen1 : arrays) {
for (int demen2 : demen1) {
//*********对迭代变量赋值,并不会真正改变数组元素的值*******
//foreach 中的循环变量相当于一个临时变量,系统会把数组或集合中的元素依次赋给这个临时变量
//而这个临时变量并不是数组或集合中的元素,它只是保存了数组元素的值而已。
//所以,通过对循环变量进行赋值,不能真正改变数组元素的值。
//如果希望改变数组元素的值,则不能使用foreach循环。
demen2=-1;//
System.out.print(demen2);
System.out.print(" ");
}
System.out.println();
}
System.out.println("--------------------------");
for (int[] demen1 : arrays) {
for (int demen2 : demen1) {
System.out.print(demen2);
System.out.print(" ");
}
System.out.println();
}
}
}
2》运行结果如下:
Ps:通过以上,可以发现二维数组就是每个数组元素又是一个一维数组的一维数组。