java的数据类型分两大类:java
基本类型是经过诸如 int a = 5; long b = 6L;的形式来定义的,称为自动变量,自动变量存放的是字面值,不是类的实例,它存放在内存的堆栈中,数据大小和生存期必须是肯定的,存取速度比较快,在堆栈中的字面值能够共享,也就是说咱们定义一个int a = 5;而后又定义了一个int b = 5;这时a与b在内存中指向的是同一个字面常量。数组
四类八种接口
四类:整形、浮点型、布尔型、字符型内存
八种:编译器
8种基本类型在java中都有对应的封装类型,也就是引用类型:
整数类型 Byte、Short、Integer(-128~127)、Long
浮点数类型 Float、Double
字符型 Character
布尔类型 Boolean编译
在参数传递时,基本类型都是传值,也就是传递的都是原变量的值得拷贝,改变这个值不会改变原变量变量
除了基本数据就是引用数据类型垃圾回收
基本数据类型加上[] 就变成引用数据类型数据类型
类、接口、数组引用
引用类型通常是经过new关键字来建立,好比Integer num = new Integer(3);它存放在内存的堆中,能够在运行时动态的分配内存大小,生存期也没必要事先告诉编译器,当引用类型变量不被使用时,Java内部的垃圾回收器GC会自动回收走。引用变量中存放的不是变量的内容,而是存放变量内容的地址。
引用类型传递的是地址,也就是参数与原变量指向的是同一个地址,因此若是改变参数的值,原变量的值也会改变