一、数组的定义格式
数组:是引用数据类型的一种,是一个容器,可以存储同种数据类型的多个数据。
数组可以存储的数据类型有基本数据类型(4类8种),也可以存储引用数据类型(字符串String,自定义类型Person)
数组的长度是固定的,不能改变。
1.动态初始化 创建数组,指定数组的长度,有默认的初始化值。
定义格式
等号的左边:
int:数组中数据的类型(指定什么类型,数组中就只能存储什么类型的数据)
[ ] :定义数组的固定语法格式;
arr : 给数组起的名字(名字任意)
等号的右边
new :创建对象(所有的引用数据类型的变量,都需要创建对象赋值)
int :数组中数据的类型(前后类型必须一致)
[ ] :定义数组的固定语法格式
3.数组的长度
数组类型 变量名 = 对象;
int [] arr1 = new int[3];
int arr1 [] = new int[3];
数组的使用格式
1.我们可以使用数组名和数组的索引(角标,下标,房间号)来操作数组
格式:数组名[索引] 0 1 2 3 4 索引
int[] arr = new int[5]; {0,0,0,0,0}
arr[0] arr[1] arr[2] arr[3] arr[4]
注意:数组的索引范围[0,数组的长度-1]
2.我们可使用数组名[索引],获取数组中存储的元素(值)
a.我们可以直接把获取到的元素输出
System.out.println(arr[0]);//0
System.out.println(arr[1]);//0
..
System.out.println(arr[4]);//0
b.我们可以把获取到的元素赋值给某一个变量
int a = arr[0];
System.out.println(a);//0
3.我们可使用数组名[索引],把数组中元素的值改变
int[] arr = new int[5]; {0,0,0,0,0}
arr[2] = 88; {0,0,88,0,0}
System.out.println(arr[2]);//88
4.通过数组名.length属性,获取数组的长度
length:长度
System.out.println(arr.length);
**数组的总结:
`1.定义数组的格式:
1).动态初始化:
int[] arr = new int[5];
或者:
int arr[] = new int[5];
2).静态初始化一:
int[] arr = new int[]{10,20,30,40};
3).静态初始化二:
int[] arr = {10,20,30,40};
2.访问元素是通过”数组名[索引]”的方式访问
arr[索引]
arr[0] = 100;
注意:数组的索引范围[0,数组长度-1]
3.数组的遍历:使用for循环依次获取数组中的元素并打印
获取数组的长度是通过“数组名.length”的方式获取
for(int i = 0;i < arr.length ; i++){
System.out.println(arr[i]);
}`**
用到数组,基本就有For循环
常用的操作有遍历、求最大、最小值、数组中总和,数组中的平均值。
二、数组的内存图解(了解)
1.初识 JVM 运行时内存
- 方法区:加载运行后的.class文件
- 栈内存:运行方法(main方法),方法中的变量存储的都是局部变量,在出了变量的作用域,就会在内存中消失
- 堆内存:存储对象(new出来的)
- 每个堆内存中的对象都有一个十六进制的地址值
- 我们可以使用这个地址值,来找到这个对象
- 堆内存中存储数据都有默认初始化值
- 基本数据类型:4类8种
整数:byte,short,int,long初始化值为0
小数:float,double初始值为0.0
字符:char初始值为’\u0000’,也就是一个空格 ’ ’
布尔:boolean初始值为false - 引用数据类型:数组,集合,类(自定义,java提供的(String,Scanner,Random))
所有的引用数据类型,默认初始化值都是null(null常量)
- 基本数据类型:4类8种
- 寄存器:即将交给CPU执行的指令
- 本地方法区:存储native修饰的方法