Java数据类型

Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本类型,其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用户表示真值的boolean类型。

一、整型

整型用于表示没有小数部分的数值,允许是负数,分别是int、short、long、byte

Java整型
类型存储需求取值范围
int4字节-2 147 483 648 ~ 2 147 483 647
short2字节-32 768 ~ 32 767
long8字节-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
byte1字节-128 ~ 127

byte和short一般用于特定的应用场合,例如底层的文件处理或者需要控制占用存储空间量的大数组。

在Java中,整型的范围与运行Java代码的机器无关,所有数值类型所占用的字节数据与平台无关。

从Java7开始,可以加上前缀0b表示二进制数,比如0b1001表示9;可以为数字加下划线,比如100000可以写成100_000。


二、浮点类型

浮点类型
类型存储需求取值范围
float4字节有效位数6~7位
double8字节有效位数15位

double类型的数值精度是float类型的两倍,一般情况下都会偏使用double类型,float类型的数值必须有个后缀F或者f,不加默认是double类型,加上d或者D也是表示double类型。

所有的“非数值”的值都是不相同的。

涉及金融运算之类因为不能有任何舍入误差,所以应该用BigDecimal类。


三、char类型

在Java中,char类型用UTF-16编码描述一个代码单元,除非是面试笔试之类的一般很少使用。


四、boolean类型

booleanl(布尔)类型有两个值,false和true,用来判定逻辑条件。整型值和布尔值之间不能相互转换。


五、数值类型直接的转换



实心箭头表示无丢失,虚箭头表示可能有精度损失的转换。

当使用一个整数和一个浮点数进行二元操作时,比如说加,必须把两个操作数转换为同一类型再进行计算。

如果有一个double类型,另一个就会转换成double类型,

否则,如果有一个float类型,另一个就会转换成float类型,

否则,如果有一个long类型,另一个就会转换成long类型,

否则,都会转换为int类型。


原文地址:https://www.cnblogs.com/phil_jing/p/15615874.html