java算术运算符需注意类型转换、运算顺序与隐式行为:+可拼接字符串,/对整数截断,%余数符号随被除数,混合类型运算自动提升,++/--分前后缀,除零引发异常或特殊浮点值。

Java 中的算术运算符是完成基础数学计算最直接的工具,但写对不等于算对——类型、顺序、隐式转换这些细节稍不注意就会得到意外结果。
加减乘除和取余怎么写
五个基本符号:+(加)、-(减)、*(乘)、/(除)、%(取余),都要求两个操作数,属于双目运算符。
- 整数相加减乘:int a = 10, b = 3; int sum = a + b; // 得 13
- 整数除法会截断小数:10 / 3 结果是 3,不是 3.333
- 只要有一个是浮点数,结果就是浮点数:10.0 / 3 或 10 / 3.0 都得约 3.3333333333333335
- % 只能用于数值类型,10 % 3 得 1;-10 % 3 得 -1(余数符号跟随被除数)
+ 的双重身份:加法还是拼接?
+ 不只是加法,遇到字符串就变成拼接工具,且从左到右执行,顺序决定结果。
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
- "Hello" + "World" → "HelloWorld"
- "Age: " + 25 → "Age: 25"(数字自动转字符串)
- 1 + 2 + "3" → "33"(先算 1+2=3,再拼 "3")
- "1" + 2 + 3 → "123"(从左开始,全是拼接)
- 想先算再拼?加括号:"Sum: " + (1 + 2) → "Sum: 3"
类型提升和自增/自减的坑
不同数值类型混合运算时,Java 自动把小范围类型转成大范围类型;自增/自减分前后缀,行为完全不同。
- byte a = 1; byte b = 2; byte c = a + b; 会报错——因为 a+b 实际是 int 类型,不能直接赋给 byte
- int i = 5; int j = ++i; // i 先变为 6,j 得到 6
- int k = i++; // k 得到 6,之后 i 变为 7
- ++ 和 -- 只能作用于变量,5++ 是非法的
除零不是小事,得提前防
整数除零和浮点除零行为完全不同,运行时才暴露,必须在逻辑中主动检查。
- int a = 10 / 0; → 抛出 ArithmeticException: / by zero
- double a = 10.0 / 0.0; → 得到 Infinity
- double a = -10.0 / 0.0; → 得到 -Infinity
- double a = 0.0 / 0.0; → 得到 NaN(Not a Number)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










