数组-二维数组

package com.atguigu.java;
/**
 * 
 * 1.理解
 * 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而村存在
 * 其实,从数组底层的运行机制来看,其实没有多维数组
 * 
 * 2.二维数组的使用:
 * 1)二维数组的声明和初始化;
 * 2)如何调用数组的指定位置的元素;
 * 3)如何获取数组的长度;
 * 4)如何遍历数组;
 * 5)数组元素的默认初始化值;
 * 6)数组的内存解析。
 *
 */
public class ArrayTest1 {
	public static void main(String[] args) {
		//1.二维数组的声明和初始化
		int[] arr = new int[] {1,2,3};//一维数组
		//静态初始化
		int[][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}};
		//动态初始化1
		String[][] arr2 = new String[3][2];
		//动态初始化2
		String[][] arr3 = new String[3][];
		
		//也是正确的写法
		int[] arr4[] = new int[][] {{1,2,3},{4,5},{6,7,8}};
		int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};
		
		//2.如何调用数组的指定位置的元素
		System.out.println(arr1[0][1]);//2
		System.out.println(arr2[1][1]);//null
		
		arr3[1] = new String[4];
		System.out.println(arr3[1][0]);
		
		//3.获取数组的长度
		System.out.println(arr4.length);//3
		System.out.println(arr4[0].length);//3
		System.out.println(arr4[1].length);//2
		
		//4.如何遍历二维数组
		for (int i = 0; i < arr4.length; i++) {
			for (int j = 0; j < arr4[i].length; j++) {
				System.out.print(arr4[i][j] + " ");
			}
			System.out.println();
		}
		
		//5.数组元素的默认初始化值
		/**
		 * 规定:二维数组分为外层数组的元素,内层数组的元素
		 * int[][] arr = new int[4][3];
		 * 
		 * 外层元素:arr[0],arr[1]等
		 * 内层元素:arr[0][0],arr[1][2]等
		 * 
		 * 针对初始化方式一,比如:int[][] arr = new int[4][3];
		 * 外层元素的初始化值为:地址值
		 * 内层元素的初始化值为:与一维数组初始化情况相同
		 * 
		 * 针对初始化方式二:比如:int[][] arr = new int[4][];
		 * 外层元素的初始化值为:null
		 * 内层元素的初始化值为:不能调用,否则报错
		 */
		int[][] arr6 = new int[4][3];
		System.out.println(arr6[0]);//[I@372f7a8d 一维数组int型
		System.out.println(arr6[0][0]);//0
		System.out.println(arr6);//[[I@2f92e0f4    二维数组int型
		  
		//6.数组的内存解析
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值