数据类型拓展
int 和integer 区别
1.类型不同:Integer是对象类型,int是基本数据类型。Integer是int的包装类。
2.Integer变量需要实例化之后才能使用,int则不需要。
3.Integer的默认值是null,int的默认值是0
4.Integer是对象的引用,当new一个Integer对象时,实际上是生成一个指针指向这个对象;而int则是直接存储数据值。
float
float 有限 离散 舍入误差 大约 接近但不等于
所以最好少用浮点数进行计算
计算浮点数用BigDecimal 数学工具类
字符
转义字符
\t 制表符(空格)
\n 换行
…
字符串
结果:false
true
布尔值
//布尔值扩展
boolean flag = true;
if (flag==true){} //新手 I
if (flag){} //老手
//Less is More! 代码要精简易读
两行代码是一样的
数据类型转换
强制转换 (类型)变量名 高–低
自动类型转换 低–高 byte,short,char–>int–>long–>float–>double
注意点:
- 不能对布尔型进行转换
- 不能把对象类型转为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在溢出,或精度问题
操作比较大的数的时候,注意溢出问题
解决方法:计算的时候先把一个转为高类型
int a=10_0000_0000;
int b=20;
long c=a*(long)b;