Java中变量需要申请内存空间来存储值。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。所以通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。

Java中有两大数据类型, 内置数据类型 和 引用数据类型 。

一、内置数据类型
Java中有8种基本类型,包含6个数字类型(4个整数型,2个 浮点型 ),一个字符型,还有一个布尔型。
1、byte
最小的数据类型,在内存中占8位(bit),1个字节,取值范围-128~127,默认值为0。
2、short
短整型,16位,2个字节,取值范围-2^15 ~ 2^15-1,默认值为0。
3、int
整型,32位,4个字节,取值范围-2^31 ~ 2^3 -1,默认值为0,用于存储整数。
4、long
长整型 ,64位,8个字节,取值范围-2^63~2^63-1,默认值为0L。
5、float
单精度浮点型,32位,4个字节,默认值为0.0f,用于存储带有小数点的数字。
6、double
双精度浮点型,64位,8个字节,默认值为0.0d,用于存储带有小数点的数字。
7、char
字符型,16位,2个字节,取值范围0~65535,用于存储单个字符。
8、boolean
布尔型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值为false。
二、引用数据类型
Java中的引用类型类似于C++中的指针,引用类型指向一个对象,指向对象的变量是引用变量。引用数据类型包含类、接口、数组等。

1、引用类型和值类型的区别
值类型就是指8中基本类型。引用类型是8中类型之外的所有类型,比如字符串、数组、类、接口等。
2、引用传递和值传递的区别
引用传递传递的是对象的引用地址,值改变后直接修改原值。值传递传递的是变量值,是传递原参数的拷贝,值改变后不影响原值。