29-二维数组

二维数组

  • 1.数组的声明和初始化
  • 2.数组元素的调用

  • 3.数组的属性:length

  • 4.数组的遍历

  • 5.数组元素的默认初始化值

public class ArrayTest2 {
public static void main(String[] args) {
	//1.数组的声明和初始化
	int[] arr1 = new int[]{1,2,3};
	//静态初始化
	int[][] arr2 = new int[][]{{1,2,3,6},{4,5},{7,8,9}};
	int[][] arr3 = {{1,2,3},{4,5},{7,8,9}};//类型推断
  
	//动态初始化1
	int[] arr4[] = new int[4][3];
	//动态初始化2
	int arr5[][] = new int[4][];
	
	//错误的方式:
	//int arr6[][] = new int[][4];
	//int[4][3] arr7 = new int[4][3];
	//int[][] arr8 = new int[3][3]{{1,2,3},{4,5,6},{7,8,9}};


	//2.数组元素的调用:通过角标的方式
	arr5[0] = new int[4];
	arr5[1] = new int[3];
	arr5[2] = new int[]{1,2,3,4};
	System.out.println(arr5[2][1]);
	
	System.out.println(arr4[2][0]);


	//3.数组的属性:length
	System.out.println(arr2.length);//3
	System.out.println(arr2[0].length);//4
	System.out.println(arr2[1].length);//2
	System.out.println(arr2[2].length);//3


	//4.数组的遍历:int[][] arr2 = new int[][]{{1,2,3,6},{4,5},{7,8,9}};
	for(int i = 0;i < arr2.length;i++){
		for(int j = 0;j < arr2[i].length;j++){
			System.out.print(arr2[i][j] + " ");
		}
		System.out.println();
	}	
}
}
	/*
 * 5.数组元素的默认初始化值  
 * 
 *  情况一:int[][] arr1 = new int[4][3];
 *  	外层元素:arr1[0]、arr1[1]、arr1[2]、arr1[3]
 *  		存储的都是内部数组的地址值。
 *  
 *  
 *  	内层元素:arr1[0][0]
 *  		与前面ArrayTest1.java中提到的一维数组元素的默认初始化值一致。
 *  
 *  情况二:int arr2[][] = new int[4][];
 *  	外层元素:arr2[0]、arr2[1]、arr2[2]、arr2[3]
 *  		此时值为null
 *  	内层元素:由于外层元素没有初始化,所有不可以调用内层元素。否则,报错
 *  
 *  
 *  	
 * )	
 * 
 */
	public class ArrayTest3 {
	public static void main(String[] args) {
		//情况1
		int[][] arr1 = new int[4][3];
		System.out.println(arr1[0]);//[I@15db9742
		System.out.println(arr1[1]);//[I@6d06d69c
		System.out.println(arr1[2]);//[I@7852e922
		System.out.println(arr1[3]);//[I@4e25154f
		
		System.out.println(arr1[0][0]);	
		System.out.println();
		//情况2
		int arr2[][] = new int[4][];
		System.out.println(arr2[0]);//null
		System.out.println(arr2[1]);//null
		System.out.println(arr2[2]);//null
		System.out.println(arr2[3]);//null
		
		//System.out.println(arr2[0][0]);//报错
		
		float[][] arr3 = new float[2][3];
		
		//编译不通过。arr3与arr1是完全不同的引用类型。
		//arr3 = arr1;
		
		arr2 = arr1;
		
		int i = 10;
		int j = i;
	}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值