对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间
带小数的数据在Java中称为浮点型。浮点型可分为float类型和double类型
使用科学记数法给浮点型变量赋值
Tip1:为什么 int 和 float 类型都占有4个字节,但是float类型表示范围却比int类型大好多?
摘自:https://blog.csdn.net/C2681595858/article/details/84865920
Tip2:浮点数存在舍入误差,数字不能精确表示
[自动类型转换] 指的是 {容量小的数据类型} 可以自动转换为 {容量大的数据类型}
[容量大小] 指的是 数据类型所表示的数据范围的大和小 !而不是说它所占用的内存空间的大小
数据类型按容量大小排序(当有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算)
测试
可以将整型常量直接赋值给 byte、 short、 char 等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可 // 整型变量赋给这仨就算不超范围也会报错~ 详见下面的小问题
容量大小:float(4) > long(8)
Tips
小问题
自动类型提升运算的逆运算
用于显式的转换一个数值的类型
在有可能丢失信息的情况下进行的转换是通过强转来完成的,但可能造成精度降低或溢出
语法格式
测试
当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值
小问题
String不是基本数据类型,属于引用数据类型
String类其实就是字符序列 (char sequence)
一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型
到底是做运算还是做连接?
原文:https://www.cnblogs.com/liujiaqi1101/p/12793249.html