Java初学者知识点总结(五)数组
1、概念
数组:是一组连续的存储空间,可以存储多个相同类型的值。
特点:类型相同,长度相同。
2、数组的创建
类型 [] 变量名 =new 类型 [长度];//new分配空间/开辟内存空间。
如: int [] arr= new int[5];//五个连续的int类型的空间。
3、下标
数组的每一项内容,称为数组元素。
数组创建后,需要使用下标对里面的元素进行访问。
数组的下标:从0开始到长度-1;
使用:数组[ 下标] =新值;
System.out.println(数组名[下标]);
注意:超出下标的正确适用范围,
会出现ArrayIndexOutOfBoundsException 数组下标越界。
4、数组的遍历
把数组中的所有元素依次访问1遍,称为数组的遍历。
动态获取数组的长度:数组名.length
5、默认值
数组再分配空间后,不指定数组元素的值,而系统默认分配的值,称为数组元素的默认值。
数组的类型不同,数组的默认值不同:
整数 0
小数 0.0
字符 \u0000(空字符)
布尔 false
其他(引用) null
6、数组的创建的其它语法
1、先声明、再分配空间
数据类型[] 数组名;
数组名 =new 数据类型[长度]//必须指定长度
2、声明并分配空间:
数据类型[] 数组名=new 数据类型[长度]//必须指定长度
3、声明并赋值
数据类型 [] 数组名 =new 数据类型[]{值1,值2,值3,...};//不能指定长度
4、声明并赋值
数据类型 [] 数组名 ={值1,值2,值3,...};//显示初始化,注:必须是一句话完成,不可换行
7、数组的扩容
数组的长都是固定的,扩容是指创建大的数组,吧原数组的内容复制到新的数组里。
1、利用for循环手动扩容
第一步、创建一个比原数组更大的数组
第二步、利用循环将原来数组的内容重新赋值给新的数组
2、System.arraycopy
第一步、创建一个比原数组更大的数组
第二步、System.arraycopy(原数组,原数组起始下标,新数组,新数组起始下标,长度);
3、Arrays.copyOf
//把原数组arr1的所有内容,搬到长度为10的新数组,返回值为新数组
int [] arr2=Arrays.copyOf(arr1,10);
8、数组作为函数的参数与返回值
数组是引用类型,存的是 首地址。
数组做为函数参数,传递的是 首地址。
数组做为函数的返回值, 返回的是 首地址。