java-数组

一、数组的概述

1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2.数组的相关概念

数组名
元素
索引
数组的长度:元素的个数

3.数组的特点:

数组是有序排列的
数组属于引用数据类型的变量。数组的元素既可以是基本数据类型,也可以是引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间。
数组的长度一旦确定,就不能修改。

4.数组的分类

按照维数:一维数组、二维数组...
按照数组元素的类型:基本数据元素的数组、引用数据类型元素的数组。

5.一维数组的使用

①一维数组的声明和初始化
②如何调用数组的指定位置的元素
③如何获取数组的长度
④如何遍历数组
⑤数组元素的默认初始化值
⑥数组的内存解析

    public class ArrayTest {
	public static void main(String[] args) {
		
		//1.一维数组的声明和初始化
		int num;//声明
		num = 10;//初始化
		int id = 1001;//声明+初始化
		
		int[] ids;//声明
		//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行
		ids = new int[]{1001,1002,1003,1004};
		//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
		String[] names = new String[5];
		
		//总结:数组一旦初始化完成,其长度就确定了。
		
		//2.通过索引的方式调用数组的指定位置元素。
		//数组的索引从0开始,到数组的长度-1结束
		names[0] = "小明";
		names[1] = "小明1";
		names[2] = "小明2";
		names[3] = "小明3";
		names[4] = "小明4";
		
		//3.如何获取数组的长度。
		//属性:length
		System.out.println(names.length);//5
		System.out.println(ids.length);
		
		//4.如何遍历数组元素,
		for(int i = 0;i < names.length;i++){
			System.out.println(names[i]);
		}
		
		/*5.数组元素的默认初始化值
		 *①数组元素是整型:0
		 *②数组元素是浮点、double型:0.0
		 *③数组元素是char型:0或'\u0000'
		 *④数组元素是boolean型:false
		 *
		 *数组元素是引用类型时:null
		*/ 
		
	}
}

一维数组的内存解析

6.多维数组的使用

二维数组的理解:可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。从数组底层的运行机制来看,其实并没有多维数组。
    public class ArrayTest {
	public static void main(String[] args) {
		
		//1.二维数组的静态初始化
		int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
		//二维数组的动态初始化
		String[][] arr2 = new String[3][2];//3个数组元素,每个数组元素有两个元素
		
		//2.通过索引的方式调用数组的指定位置元素。
		System.out.println(arr1[0][1]);//2
		
		//3.如何获取数组的长度。
		//属性:length
		System.out.println(arr1.length);//3
		System.out.println(arr1[1].length);//2
		
		//4.如何遍历数组元素
		for(int i = 0;i < arr1.length;i++){
			for(int j = 0;j < arr1[i].length;j++){
				System.out.print(arr1[i][j] + "  ");
			}
			System.out.println();
		}
	
		//5.数组元素的默认初始化值
		/*规定:二维数组分为外层数组的元素,内层数组的元素。
		 * int[][] arr = new int[4][3];
		 * 外层元素:arr[0],arr[1]等
		 * 内层元素:arr[0][0],arr[1][1]等
		 * 
		 * 针对于初始化方式一:比如String[][] arr2 = new String[3][2];
		 * 外层元素初始化值:地址值
		 * 内层元素初始化值:与一维数组初始化情况相同
		 * 
		 * 针对于初始化方式二:比如int[][] arr3 = new int[4][];
		 * 外层元素初始化值:null
		 * 内层元素初始化值:不能调用,否则报错
		*/
		System.out.println(arr2[0]);//@15db9742 地址池
		System.out.println(arr2[0][0]);//null
		System.out.println(arr2);//@6d06d69c
		
	}
}
二维数组的内存解析:

posted @ 2020-02-24 16:22  旭东东  阅读(113)  评论(0编辑  收藏  举报