踩坑java基本数据转换
说实话,基本数据类型转换工作中用到不多,but在面试中经常会有此类的问题,而且,经常会出现一些有毒的题目,当然,也有可能是因为之前我太simple,才会被套路
java中数据转换基本逻辑
- java中整型的默认类型是int,浮点型的默认值就double
如果申明一个long类型,需要加L或l,如long i =1L;
如果申明一个flaot类型时,需要加f或F,如flaot=1.2F2 . byte,short,char一起参与运算时,会默认按转为int来运算
3 .大类型转小类型需要强转 ,小类型转大类型时一般可以自适应
4 .注意在用到±*/%运算时,系统会有优化操作,但要注意可能会损失精度 毒5
毒1:
byte i = 129;
这应该算是小毒一个, java默认整形类型为int,int的取舍范围为 -128~127,上述超出范围,编译都不能通过,解决办法 改为int接收,或 byte i=(byte) 128
强转会损失精度
毒2:
int i =1;
long j =1;
int y =i+j;
同样会编译报错,接收变量一定要它们中最大的类型,