Java中关于不同类型数据运算问题
-
如果参与运算的数据类型不同,Java会尝试将两个不同数据类型转换成统一数据类型在进行运算。
转换方法按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
-
char和short类型的数据在计算时会将自己转换成int类型数据再参与计算。
public static void main(String[] args) { short a = 10; char b = 'a'; //a的ASCII码为97 System.out.println(a+b);// 107 }
-
所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
-
在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
public static void main(String[] args) { int a = 10; int b = 4; int c = a / b; System.out.println(c); //2 }
-
如果有String类型数据参与加运算,Java会进行字符串拼接。
public static void main(String[] args) { int a = 10; String b = "hello"; System.out.println(a + b); //10hello }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)