Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本类型,其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用户表示真值的boolean类型。
整型用于表示没有小数部分的数值,允许是负数,分别是int、short、long、byte
Java整型 类型存储需求取值范围int4字节-2 147 483 648 ~ 2 147 483 647short2字节-32 768 ~ 32 767long8字节-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807byte1字节-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类。
在Java中,char类型用UTF-16编码描述一个代码单元,除非是面试笔试之类的一般很少使用。
booleanl(布尔)类型有两个值,false和true,用来判定逻辑条件。整型值和布尔值之间不能相互转换。
实心箭头表示无丢失,虚箭头表示可能有精度损失的转换。
当使用一个整数和一个浮点数进行二元操作时,比如说加,必须把两个操作数转换为同一类型再进行计算。
如果有一个double类型,另一个就会转换成double类型,
否则,如果有一个float类型,另一个就会转换成float类型,
否则,如果有一个long类型,另一个就会转换成long类型,
否则,都会转换为int类型。