数组:存储数据长度固定的容器,确保每个数据的数据类型一致。
容器:将多个数据集中保存。 每个数据都称为容器的元素。
数组有三种创建方法。
数组存储的数据类型[]数组名称=new数组存储的数据类型[长度(正整数) ] (动态初始化)
数组的数据类型[]数组名称=new数组的数据类型[]{元素1、元素2、元素3、 }; (静态初始化)
数组的数据类型[]数组名称={元素1、元素2、元素3、 }; (静态初始化)
数组中存储的内容不确定时动态初始化,相反内容确定时静态初始化。 在大多数情况下,建议使用动态初始化。
创建空数组的默认值:
对于int整数类型,默认值为0
对于浮点数类型,默认值为0.0
对于字符类型,默认值为“u0000”,表示它是一个空格
对于布尔型,默认值为false
对于引用类型,默认值为空
数组特征:
1 .长度不是可变的
2 .数组本身是引用类型
3 .数组中保存的要素数据与数组类型一致(数组可作为杯子处理,杯子里倒入牛奶时请勿泡茶) )。
数组访问:
将自动为数组中存储的每个元素指定一个编号
从【0】开始,该系统自动分配的编号称为数组的索引(index ),可以通过索引访问数组中的元素。
关于数组的长度,从数组名. length中得到的值为int型
更改与索引对应的值:数组名称[索引]=(直接替换)元素值
JVM内存分割:
内存区域分为不同的区域,每个区域有特定的数据处理方式和内存管理方式。 这是为了提高运算效率
区域名称
作用
寄存器
用于CPU与开发无关
本地方法堆栈
JVM是使用OS功能时使用的,与开发无关
方法区域
存储可执行的class文件(常量池、静态域)
方法堆栈
(main )执行方法时使用的内存
堆内存(heap ) )。
存储对象或数组、来自new的对象存储在堆内存中。 可以认为是内存中的容器。
列印阵列的名称时,主控台会显示阵列所在之记忆体位址的杂凑值
如果两个变量指向同一个数组,则内存中的地址哈希值不会改变,因此如果更改其中一个变量的索引元素值,另一个变量所在的索引元素值也会改变
数组遍历:
遍历是单独获取数组中的每个元素。
的数组索引从0开始按顺序递增,递增到arr.length-1以引入循环结构
publicstaticvoidmain (string [ ] args ) {
//静态初始化int数组
int [ ] arr={ 1,2,3,4 };
//数组遍历for或while
for(intI=0; i=arr.length-1; I )//遍历容器时,初始化语句的循环变量通常为指数值
system.out.println(arr[I];
}
}