关于数组赋值 int[] a={} a是引用变量 int [] a =new int[元素个数] 数组值没有初始化 默认值0(数组元素类型) 动态初始化数组 int[] a=new int[4] {1,2,3,4,} 引用类型是什么? 引用类型是个线索。 用来找到堆中的真正数据 引用类型 也是值传递,形参的改变不会影响实参 自己理解:改变线索,原值不变;改变柜子中东西,原值改变。 找到数组的线索 Java中3个区域: 栈区 堆区 方法区 局部变量a 1,2,3(数组) int[] a={}; int [] b=a;//b也指向a指向的数组对象 b={1,1,1}b的指向改变不会影响a和a指向的对象 b[0]=100;改变的是b指向的数组对象的内容。会影响a

四种变量: 形参和局部变量: 栈区 属性: 堆区(对象内部) 静态属性: 方法区 (随着类)
int[] a=null 线索A 没有指向任何数组 继续访问a[0] NullPointerException 提示错误 int[] b=a b 和a指向同一个数组 引用的方法也是调用: 形参的值不会改变实参的值 实参传递给形参 相当于又形成了一个新的变量

java 中垃圾回收(garbage collection) 垃圾:没有引用指向的对象(数组) 没有使用价值

获取数组的长度 a.length; String s s.length();

下标:intdex () 可能出现的问题:空指和 越界 数组的遍历 for(int i=0;i<a.length;i++){ }

foreach for(int element:a){ element }