Java 数据类型
Java 是一种强类型语言,这就意味着必须为每一个变量声明一种类型
Java一共有8种基本类型,都是小写
-
-4种整形 ( byte , short , int , long )
-
-2种浮点类型 ( float , double )
-
-1种字符类型 ( char )
-
-1种表示真值的类型 ( boolean )
1、整形
类型 | 存储需求 | 取值范围 | 默认初始值 | 对应的包装类 |
---|
byte | 1字节 | -128~127(100多)(7次方) | ( byte )0 | Java.lang.Byte |
short | 2字节 | -32768~32767(3万多)(15次方) | ( short )0 | Java.lang.Short |
int | 4字节 | -2147483648~(20亿多)(31次方) | 0 | Java.lang.Integer |
long | 8字节 | -9223372036854775808~()(63次方) | 0L | Java.lang.Long |
- 由于 Java 程序必须保证在所有机器上都能得到相同的运行结果,所以每一种数据类型的取值范围必须固定。
2、浮点型
类型 | 存储需求 | 取值范围 | 默认初始值 | 对应的包装类 |
---|
float | 4字节 | 有效位6~7位 | 0.0f | Java.lang.Float |
double | 8字节 | 有效位15位 | 0.0d | Java.lang.Double |
- float 类型的数值有一个后缀 F ,没有后缀 F 的浮点数值默认为 double 类型, double 也可以加后缀 D 。
float f = 3.14F ;
double d = 3.14D ;
- 浮点数值不适用于禁止出现舍入误差的金融计算中,应该使用 BigDecimal 类。
System.out.println(2.0-1.1);
3、char 类型
类型 | 存储需求 | 取值范围 | 默认初始值 | 对应的包装类 |
---|
char | 2字节 | \u0000~\uffff | ‘\u0000’( null ) | Java.lang.Character |
- Java 中,char 类型用 UTF-16 编码描述一个代码单元。
- 建议不要在程序中使用 char 类型。
4、boolean 类型
类型 | 存储需求 | 取值范围 | 默认初始值 | 对应的包装类 |
---|
boolean | 无严格定义 | false , true | ‘\u0000’( null ) | Java.lang.Boolean |
int a = 0 ;
if(a=0){
}
- 在 Java 中整形值和布尔值之间不能进行相互转换。
- boolean 类型只表示 1bit 的信息量。
- boolean 类型被编译成 int 类型来使用,占 4字节。
- boolean 数组被编译成 byte 数组类型,每个 boolean 数组成员占1字节。
- 这只是 Java 虚拟机的建议,无严格定义。
5、备注
Java是双类型的系统,即具有基本数据类型和对象类型,简称基本类型和对象。Java中有8个预定义的基本类型,每一个基本类型都有一个对应的对象包装类。基本类型基于值,对象类型基于引用。