语法
定义数组 初始化数组
内存模式(重点+难点)
遇到的第一个引用数据类型
补充:
1.基本数据类型
2.引用数据类型
***数组类型
***对象类型
***接口类型
————————
1.数组类型
保存一组其他类型的数据、元素类型
int/double[]
变量
变量类型 变量名称
a.int[] intArray
b.double doubleArray
与C语言有一定的兼容性
1.int intArray[] //可以运行,但不支持使用
2.数组初始化(数组的长度是固定的)
*静态的方式 用到已知数组所有的元素
int[] array={1,2,3,4};
int[] array=new int[]{1,2,3,4,5};(给方法传参数)
*动态的方式
*不初始化数组,指定一个NULL字面量
int[] x=NULL;
3.数组的下标访问
4.数组本质上也是对象
*属性
int[] array={1,2,3};
array.length(表示数组的元素个数)
*方法
2.数组本质
1.int a=100;(左边的空间,存在的位置?)
a.内存
b.栈、堆
void print(int a){
System.out.println(a);
}
void main(){
int a=10 print(a);
}
以上在栈中完成了值传递
print中a为形参
main中a为参数(实参)
print中无论如何改变形参的值也不会改变实参
栈中保存
*局部变量
*参数
2.数组类型(引用类型)
java的数组原生支持 java.util.Arrays支持
a.toString 打印数组
b.copyof 复制一份数组
c.copoofRage
d.fill 填充值
e.sort|paralle
3.默认值 0的各个类型表现
byte/short/int/log 0
float/double 0.0
char 0x0000
boolean false
reference null
变量未初始化时,每个元素的值是默认值(0)
局部变量无法享受默认值,参数没有默认值
4.理解引用背后的内存模式
a.引用类型和基本数据类型的差别
b.java粗略的把内存分成了栈和堆
栈上:1.局部变量 2.参数(形参)
堆上:对象(数组的对象)
c.方法调用过程中,无论是基本数据类型还是引用数据类型
实参到形参都是值传递,在这里拷贝了一份,但引用传递,如果更改的是对象内部的值,则实参可以感受到变化
d.调用栈的过程
*内存主要的用处就是保存局部变量和形参
作用域和生命周期