Java数据类型自动转换(++ ,+=)
2020-07-14 01:03
513 查看
在算术表达式中的自动类型转换
-
数据从类型范围小的自动向数据范围大的转换
-
整数向浮点数转换(包括long类型向float转换)
例子:
char类型的范围内与整数之间转换依据ASCII表
强制转换会丢失精度,尤其是超过数据范围和整数与浮点数的转换
在赋值表达式中的自动类型转换
- 先看两个例子
-
这里的m+2L就是上面的自动类型转换,在执行加法时就成了long类型,所以是long类型的2147483649(已经超出了int的范围)
num+1也是自动类型转换,在执行加法时就成了int类型,所以是int类型的128(已经超出了byte的范围)
再来看++的情况
-
这里没有发生自动类型转换吗,是有的,而且还有强制类型转换。如果只是
num = num + 1是会产生编译错误的,所以这里还有默认的强制类型转换
num = (byte) (num+1),所以结果被截取为byte类型,变成了-128。
+=情况类似
m+=2L可以看做
m=(int)(m+2L),强制类型转换为int,变成-2147483647
至此,若有纰漏,望各位不吝赐教
相关文章推荐
- 【Java基础之数据类型转换】数据类型自动转换和强制转换、及相关常见面试题(如return (short)x / y* 2; 的返回类型)
- easyui datetimebox处理【前台传递到后台是string类型,但是后台定义的是java.util.date,如何自动转换数据类型】
- JAVA数据类型自动转换,与强制转换
- 对java基础数据类型在运算过程中的自动转换的一些分析
- Java数据类型转换(自动转换和强制转换)
- Java数据类型的转换:隐式(自动)转换与强制转换
- java语言基础(59)——jdk5自动装箱和拆箱(基本数据类型与包装类之间的转换)
- java学习之旅10--基本数据类型自动转换_强制转型_类型提升问题
- Java数据类型转换(自动转换和强制转换)
- Java数据类型的转换——————隐式(自动)转换与强制转换
- java基本数据类型自动转换规则
- Java基础数据类型、类型转换及自动装箱拆箱
- Java基本数据类型转换(强制类型转换(手动)&隐式类型转换(自动))
- JAVA数据类型自动转换,与强制转换
- JAVA数据类型的转换(自动转换)
- java基本数据类型自动转换
- java入门教程-2.2 Java数据类型转换(自动转换和强制转换)
- 数据类型自动转换(Java)
- JAVA——基本数据类型之间的自动转换
- 数据类型的自动转换【走进JAVA-1.0】