JavaSE基础 (六)

数组(容器)

数组是一组数据类型相同的数据的组合,将这些数据统一管理起来
数组本身是一个引用数据类型,但数组内可以存储基本数据类型,也可以存储引用数据类型

数组的定义(声明)

数据类型[] 数组名字;
    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索引  找不到元素是哪一个

基本数据类型和引用数据类型在内存结构上的区别

所有的变量空间都存储在栈内存
变量空间可以存储基本数据类型  也可以引用数据类型
如果变量空间存储的是一个基本数据类型  存储的是值 一个变量改变 另一个不会改变
如果变量空间存储的是引用数据类型 存储的是引用(地址)一个变量地址改变 另一个跟着改变