1 java数组
java的数组有特点
-
数组长度是固定的
-
数组存储的类型是固定的
-
可以存储重复元素
1.1 声明创建数组
基本语法(声明+创建):
-
数据类型[] 数组名 = new 数据类型[长度];
-
int[] arr = new int[3];
-
前后的数据类型要一致
1.2 内存关系
java的内存中分为几大区域,暂时先了解两个(栈,堆)
-
方法执行会进栈,执行完弹栈消失
-
new出来的对象会进堆
在java中,凡是new 的都会在堆中创建对象
-
堆中创建数组对象,会开辟
连续
空间 -
给数组分配下标(也叫索引,index),下标从0开始
-
数组内赋默认值
-
对象会产生地址值
1.3 数组操作
数组操作就两种用法: 存储数据(存值),取出数据(取值)
// 声明创建数组
// 数组创建时有默认值,int类型默认值是0,double是0.0
// 数组有下标从0到长度-1
int[] arr1 = new int[3];
// 数组取值,通过数组名[下标]
int a = arr1[0];
int b = arr1[1];
int c = arr1[2];
System.out.println(a );
System.out.println(b );
System.out.println(c );
注意: 数组创建完后有默认值
-
int类型是0
-
double类型是0.0
-
char类型是' '
-
boolean类型是 false
-
引用类型默认值是null.因为String是引用类型,所以默认值是null
注意: 数组取值时注意下标越界问题
-
ArrayIndexOutOfBoundsException
-
因为数组下标是从0至长度-1的
语法: 数组名[下标] = 值;
1.4 简介创建数组
数据类型[] 数组名 = new 数据类型[长度];
这种创建方式,是指定长度不指定元素.
能不能在创建出数组的同时,数组内直接有指定的数据呢?
-
可以, 创建数组时不指定长度,但是指定数据
-
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
-
一般我使用简化语句:
-
数据类型[] 数组名 = {元素1,元素2,...}
1.5 数组长度
数组中有一个属性,length,可以获得数组的长度(存储的数据个数,容量大小).
语法: 数据类型 变量 = 数组.length;
// 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
// int[] arr = new int[]{11,22,33};
int[] arr = {11,22,33};// 简化了格式
// 以上方式创建整型数组arr,其中直接存储了元素11,22,33
// 数组长度是3
int length = arr.length;
System.out.println("数组长度:" + length );