数组
数据是存储同一种数据类型的集合容器。
定义格式:数据类型[] 变量名=new 数据类型[长度]
例:int[] arr=new int[50]
解析:左边部分:int[] arr 声明了一个int类型的数组变量,变量名为arr。
int,表名该容器只能存储Int型数据。
[]:表示是数组。
右边部分:new int[50]创建一个长度为50的int类型数组对象。
new:创建数组对象的关键字。
int;表示该数组对象只能存数int类型的数据。
[]:表示数组类型。
50:该数组的存储容量
JAVA虚拟机管理两片内存,栈内存,堆内存。
栈内存特点:栈内存存储的都是局部变量,变量一旦出了自己的作用域,那么马上从内存中消息,释放内存空间。
局部变量:如果声明一个变量是在一个方法的内部声明的,那么该变量就是局部变量。
成员变量:定义在方法之外,类之内的。
堆内存特点:存储的都是对象数据,对象一旦使用完(对象如果没有变量引用了,那么该对象就是垃圾对象),不用立马消失,而是等待垃圾回收器把垃圾对象回收,这时候对象才会消失,释放内存空间。
对象数据:除去八种基本数据对象外,都属于对象数据。
凡事new创建的对象,JAVA虚拟机都会在堆内存中开创新的空间,创建新的对象。
int arr=new int[4];
arr 属于局部变量,存储到栈内存,
栈内存中先会申请arr的变量空间,
new int[4];凡事new创建的对象,JAVA虚拟机都会在堆内存中开创新的空间,创建新的对象。
因此,在堆内存创建一个数组对象,开辟一个空间,空间大小长度为4,则将空间大小平均分为4等份,
= 赋值运算符,把数组对象的内存地址,赋予给arr变量
数组的length属性,查看数组长度。
数组的遍历:
数组好处:对分配到数组对象中的每一个数据都分配一个编号(索引值,小标,角标),索引值范围从0开始,最大值长度减一。
需求:计算某班学生考试的平均成绩?假设本班有50人。
第一步:分别记录本班所有学生的成绩
注:学数组之前,如果想要记录的话,应该是班级里有多少人就要记录多少个学生的成绩,也就是说需要定义许多变量来记录所有人的成绩,如何解决?数组解决。
int arr=new int[4];
数组的内存分析: