数据类型
众所周知,Java是一种强类型语音,就是每一个变量需要声明一个类型。
那为什么需要声明一个类型呢?变量是怎么储存值的,就是通过申请内存。也就是说,当创建变量的时候,需要在内存中申请空间。
而内存管理系统是根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。
因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
Java 的两大数据类型:
- 内置数据类型
- 引用数据类型
Java的基本类型
内置数据类型
①整数类型
作用
用于表示没有小数部分的数,可以是负数。
常见整数类型
``
byte
- 数据类型:8位
- 存储需求:1字节
- 取值范围: -128(-2的7次方)到127(2的7次方-1)
- 默认值:0
- 用法: byte 变量占用的空间只有 int 类型的四分之一,可以替代int节约空间
例子:byte a = 80,byte b = -20。
short
- 数据类型:16 位
- 存储需求:2字节
- 取值范围: -32768(-2的15次方)到32767(2的15次方 - 1)
- 默认值:0
- 用法:short变量是int型变量所占空间的二分之一,可以替代int节约空间
例子:short c = 1000,short d = -20000。
int
- 数据类型:32 位
- 存储需求:4字节
- 取值范围: -2,147,483,648(-2的31次方)到2,147,483,647(2的31次方 - 1)
- 默认值: 0
- 例子:int s = 100000,int r = -200000。
long
- 数据类型:64 位
- 存储需求:8字节
- 取值范围: -9,223,372,036,854,775,808(-2的63次方)到9,223,372,036,854,775,807(2的63次方 - 1)
- 默认值: 0L
- 例子:long a = 100000L,long b = -200000L。
②浮点类型
float:
- 数据类型:32位单精度
- 储存需求:4字节
- 取值范围:6~7位有效数字
- 默认值是 0.0f
- 注意:浮点数不能用来表示精确的值,如货币或者角度
例子:float a = 234.5f。
double
- 数据类型:64 位双精度
- 储存需求:8字节
- 取值范围:15位有效数字
- 默认值是 0.0d
- 注意:double类型不能表示精确的值,如货币
由于默认为double类型,所以没有后缀的浮点数值为double类型
例子:double a=3.14
③boolean类型
boolean
- 取值:true 和 false;
- 作用:作为一种标志来记录 true/false 情况
- 默认值: false
例子:boolean number = true。
④char类型
char
- char 类型:单一的 16 位 Unicode 字符
- 取值范围: \u0000(十进制等效值为 0)~ \uffff(即为 65535)
- 作用:储存任何字符
例子:char word = ‘A’
引用类型
在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
引用数据类型有:接口、数组、类
所有引用类型的默认值都是null。
一个引用变量可以用来引用任何与之兼容的类型。
例子:Word word = new Word(“Hello”)