数组:
定义: 存储同一种数据类型的多个数据的容器, 既可以存储基本数据类型, 也可以存储引用数据类型
格式:
数据类型[] 数组名 = new 数据类型[数组的长度];
String[] strs = new String[5];
数组初始化:
为数组开辟连续的内存空间, 并给每个元素赋值
动态初始化:
数据类型[] 数组名 = new 数据类型[数组的长度];
给出长度, 系统去初始化值
静态初始化:
给出初始化值, 系统指定长度
格式:
数据类型[] 数组名 = new 数据类型[]{元素1,...};
数据类型[] 数组名 = {元素1,...};
注意:
第二种格式声明和赋值只能在同一行
第一种格式不能动静结合
局部变量:
定义在方法中以及方法的声明上
整数类型: 0
浮点类型: 0.0
boolean : false
char: '\u0000'
栈内存:
存储局部变量
堆内存中: new出来的数组或对象
异常:
索引越界异常: 访问了不存在的索引
空指针异常: 把null赋值给数组名时, 数组名就不再指向堆内存了, 这时数组就无法在堆内存中找到对应的地址了
引用数据类型的默认初始化值是null
二维数组:
格式:
数据类型[][] 数组名 = new 数据类型[m][n];(推荐写法)
数据类型[]数组名[] = new 数据类型[m][n];
数据类型 数组名[][]=new 数据类型[m][n];
二维数组中含有m个一维数组, 每个一维数组中有n个元素
Java中值传递的问题:
基本数据类型: 不改变其值
引用数据类型: 改变其值
因为基本数据类型是栈内存中, 而引用数据类型是在堆内存中 |
|