Java之数组知识

1.数组的概念

	数组是一组连续的存储空间,存储多个相同数据类型的值。

2.数组的特点:

	1)类型相同
	2)长度固定

3. 数组的创建

	数据类型[]	数组名 = new	数据类型[数组长度];

4. 数组的使用

	1)数组中的每个数据格被称为“数组元素”;
	2)对每个元素进行赋值或取值的操作被称为“元素的访问”;
	3)访问元素时,需要使用“数组下标”(从0开始,依次+1);
	4)访问语法:数组名[下标];

5. 有效下标范围:

	0~数组长度-1

6. 数组的遍历

	遍历:从头至尾,逐一对数组的每个元素进行访问。
	技巧:数组名.length可以动态取得数组长度。

7. 数组的默认值

	整数:0
	小数:0.0
	字符:\u0000
	布尔:false
	其他:null

8. 数组的创建语法

	1)先声明,在分配空间
		 数据类型[]	数组名;
		 数组名	=		new	 数据类型[长度];
	2)声明并分配空间
		数据类型[]	数组名	=	new	数据类型[长度];
	3)声明并赋值(繁琐)
		数据类型[]	数组名	=	new	数据类型		[]{value1,value2,value3等}
	4)声明并赋值(简单)
		数据类型[]	数组名	={value1,value2,value3....}//注意:不可换行

9. 数组的扩容

因为创建数组时,必须指定长度,并且在创建之后不可更改长度,但我们在开发中会经常遇到数组长度不够的情况,这个时候就需要扩容。
扩容思路:
	1)创建大于原数组长度的新数组;
	2)将原数组中的元素依次复制到新数组中;
	3)将新数组地址赋值给原数组地址进行替换。
复制的方式:
	方法1:循环将原数组中的所有元素逐一赋值给新数组;
	方法2:System.arraycopy(原数组名,原数组起始,新数组名,新数组起始,长度);
	方法3:数据类型	=	java.util.Arrays.copyOf(原数组,新长度);//返回带有原值的新数组

10.地址的替换

	数组作为引用类型之一,其变量中存储的是数组的地址;
	完成元素复制后,需要将新数组地址,赋值给原数组进行替换。
	
	替换方式:	旧数组名	=	新数组名;

11.注意内容

	基本数据类型,存储在栈中(基本类型的变量中,直接存储“值”);

	引用数据类型,存储在堆中(引用类型的变量中,存储的是在堆中的“地址”)。

	基本数据类型的传递,是“值”的传递,一方改变,不会影响另一方,而引用数据类型的传递,是“地址”的传递,一方改变,会影响另一方。

12.可变长参数

	概念:可接受多个同类型实参,个数不限,使用方式与数组相同。
	
	语法:数据类型...形参名	//必须定义在形参列表的最后,且只能有一个
	
	可赋值实际参数范围:0~N

13.数组的排序

	JDK排序:java.util.Arrays.sort(数组名);//升序

14.二维数组的概念

	一维数组中的一维数组,数组中的元素还是数组。

	注意:高维数组中的每一个元素,保存了低维数组的地址。

15.二维数组的赋值

	1)先声明,再分配空间
	数据类型[][]	数组名;
	数组名	=	new	数据类型[高维下标][低维下标];
	
	2)声明并分配空间
	数据类型[][]	数组名	=	new	数据类型[高维下标][低维下标];
	
	3)声明并赋值(繁琐)
	数据类型[][]	数组名	=	new	数据类型[高维下标][];
	数组名[]	=	new	数据类型[低维下标];	//不规则数组,自行new低位数组
	
	4)声明并赋值
	数据类型[][]	数组名	=	{{value1,value2,value3},{value4,value5}....};	//显示初始化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值