Day06 数组

本文详细解读了Java中数组的概念,包括数组名的本质、声明与初始化的区别、索引与长度获取、遍历、默认值、内存解析以及二维数组的使用。重点讲解了静态和动态初始化,以及数组作为引用类型的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day06

数组

与C语言类似

理解

  • 数组属于引用数据类型的变量
  • 数组的元素既可以是基本数据类型,也可以是引用数据类型
  • **数组名是什么?**是指针!!!可以如此理解
  • 可以用数组名进行数组的赋值么?

声明和初始化

	// 静态初始化数组
	int[] ia1;//此处声明了一个数组
	ia1 = new int[]{1001,1002,1003,1004}; // 此处对数组ia1进行初始化;初始化和赋值是同时进行的
	
	// 动态初始化数组
	String[] stra1 = new String[5];		// 此处对数组stra1进行了初始化;初始化和赋值是分开进行的

	// 注意,声明数组时,数组的类型只能是  Type[]  ;不能是  Type[num]  ;
	// 即不能有以下写法
1.	int[] ia1 = new int[];
2. 	int[5] ia2 = new int[5];
3. 	int[] ia3 = new int[5]{1,2,3,4,5}; // java:同时使用维表达式和初始化创建数组是非法的 

调用特定位置的值

通过角标调用,java数组 索引值 从 0 到 数组长度 -1 。

获得数组的长度

可以直接访问数组属性length来获得数组长度

	int[] ia1 = new int[5];
	System.out.println(ia1.length);	

遍历数组

  • 循环遍历 从 0 到 length - 1
  • 没有迭代器?

数组的默认初始化值

  • 整型数组:0
  • 浮点型数组:0.0
  • char型数组:0 或者 ‘\u0000’ 而非‘0’
  • boolean型数组:false
  • 引用数据类型数组:null

数组的内存解析

image-20210122174527893

另外值得注意的是,在java中数组名是可以重新赋值的,之前的空间会在重新赋值后的一个不确定的时间被 JVM 回收。

不确定的时间?你是在逗我?

二维数组

理解

  • 数组的元素也可以是数组,本质上,并没有多维数组

声明和初始化

	int[][] iaa1 = new int[][]{{}}
	String[][] straa1 = new String[3][3];
	// other way
	int[] iaa2[] = new int[][]{{}};
	int[] iaa3[] = {{}};

调用

同样采用角标(索引)

二维数组的长度

同样是数组名.length,是当前数组的长度(按数组的 理解来)

二维数组的默认初始化值

  • 数组名类为地址值
  • 元素类与一维数组一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值