数组(容器)
数组是一组数据类型相同的数据的组合,将这些数据统一管理起来
数组本身是一个引用数据类型,但数组内可以存储基本数据类型,也可以存储引用数据类型
数组的定义(声明)
数据类型[] 数组名字;
int[] a;
char[] b;
boolean[] c;
string[] m;
数组的(赋值)初始化
静态初始化 有长度 有元素
int[] arry = {10,20,30,40,50,60};
int[] arry = new int[] {10,20,30,40,50,60};
动态初始化 有长度 没有元素(默认值0)
int[] arry = new int[5] ;
整数默认值-----0
浮点数默认值---0.0
字符型默认值----0--char 97-a 65-A 48-'0'
布尔型默认值----false
引用数据类型默认值----null
数组元素的访问
通过元素在数组中的位置来访问
存值/取值
位置------->index索引
索引是有取值范围 [从0开始------到数组长度减1]
如果数组的索引超过了上诉范围
会出现了一个运行时的异常
ArrayIndexOutOfBoundsException
数组元素的遍历
通过循环的方式访问数组每一个元素
for(;;){
}
JDK1.5版本之后 增加新特性 增强for循环 加强for forEach
for(自定义的变量(接收数组内每一个元素):遍历的数组arry){
}
1.正常的for循环 有三个必要的条件 找到一个元素的位置
可以通过index直接访问数组的某一个位置 存值 取值都可以
不好在于写法相对比较麻烦
2.增强for 有两个条件 用来取值的变量 用来遍历的数组 没有index索引
写法相对容易
只能取值 不能存值
没有index索引 找不到元素是哪一个
基本数据类型和引用数据类型在内存结构上的区别
所有的变量空间都存储在栈内存
变量空间可以存储基本数据类型 也可以引用数据类型
如果变量空间存储的是一个基本数据类型 存储的是值 一个变量改变 另一个不会改变
如果变量空间存储的是引用数据类型 存储的是引用(地址)一个变量地址改变 另一个跟着改变