1.定义二维数组的方式
int[][] array = {{1,2,3},{4,5,6}}; int[][] array2 = new int[][]{{1,2,3,},{4,5,6}}; int[][] array3 = new int[2][3];
2.遍历二维数组的三种方式
int[][] array = {{1,2,3},{4,5,6}};
int[][] array2 = new int[][]{{1,2,3,},{4,5,6}};
int[][] array3 = new int[2][3];
/*
* 遍历二维数组的三种方式*/
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length; j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
System.out.println(Arrays.toString(array));//不能打印出二维数组
System.out.println(Arrays.deepToString(array));//打印二维数组的方式
//foreach方法打印
for(int[] temp : array){
for(int x: temp){
System.out.print(x+" ");
}
System.out.println();
}
3.不规则的二维数组
二维数组在内存中的存储方式,它与c语言中的二维数组存储方式不同
//不规则的二维数组
int[][] array = new int[2][];
//注意:C语言 是可以指定列,行可以自动推导
//Java 行必须指定,列 不可以自动推导的
array[0] = new int[]{1,2,3};
array[1] = new int[]{4,5};
System.out.println(Arrays.deepToString(array));
4.二维数组习题
打印x图形 输入n组数据
例如:
public static void func(int n){
int[][] arr = new int[n][n];
for(int i = 0;i<n;i++){
for(int j=0;j<n; j++){
if(i == j){
System.out.print("*");
} else if( i + j == n-1){
System.out.print("*");
} else{
System.out.print(" ");
}
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int n = scan.nextInt();
func(n);
}
}