数组
变量 : 存储单个数据
数组 (线性序列): 存储多个数据
一段连续的内存空间,用来存放同种类型的多个数据
数组的特点 :
1.数组是引用数据类型 : 对象数据
基本数据类型 : 数据值
2.定长,长度一旦确定不可改变
3.在数组中存储所有数据要求类型相同(类型检测)
4.索引(连续内存空间中每一个空间的序号) ,[0开始~数组名.length-1]
操作数组(赋值,获取值) :
根据索引进行操作
数组名[索引]
数组的长度 :
数组名.length
数组的声明 :
数据类型[] 数组名; ==> 推荐
数据类型 数组名[];
数据类型 : 规定当前数组中存储的所有数据的数据类型
数组的初始化 : (第一次赋值)
动态初始化 : 先创建数组(内存中创建连续内存空间),后赋值
数据类型[] 数组名 = new 数据类型[长度];
数据类型 : 可以为任意数据类型
静态初始化 : 创建同时赋值
数据类型[] 数组名 = new 数据类型[]{值列表};
数据类型[] 数组名 = {值列表}; --> 省略写法
注意 :
数组一旦创建,没有手动赋值,存在默认值 整数:0 小数:0.0 字符:空字符 布尔:false 引用:null
数组遍历 :
for : 条件变量i控制数组的索引
foreach
for(数据类型 变量名i:数组名|集合名){
通过使用变量名i,来使用数组中的每一个数据(顺序默认从前往后)
}
区别 :
for循环迭代的是索引,条件i控制索引
foreach循环条件i代表数组中的每一个具体的数据
普通for可以实现从前往后,从后往前迭代,从指定索引位置开始往前往后迭代
增强for只能使用从前向后迭代
for可以实现为数组中赋值
foreach只能遍历获取值,不能向数组赋值
for可以遍历期间使用索引
foreach无法确定索引