+
运算符计算和,最后用System.out.println()
输出结果,示例代码:int a=5, b=3; System.out.println(a+b);
输出结果为8。基础整数相加
适用于固定数值的简单计算:
public class BasicAddition { public static void main(String[] args) { int num1 = 15; // 定义第一个整数 int num2 = 27; // 定义第二个整数 int sum = num1 + num2; // 相加 System.out.println("结果:" + sum); // 输出:42 } }
关键点:
int
类型最大支持2147483647
,超出会导致溢出(如2147483647 + 1 = -2147483648
)- 需更高范围时用
long
(最大9223372036854775807
)
用户输入交互相加
通过 Scanner
实现动态输入:
import java.util.Scanner; // 导入输入工具 public class UserInputAddition { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 创建扫描器对象 System.out.print("输入第一个数:"); double firstNum = scanner.nextDouble(); // 读取浮点数 System.out.print("输入第二个数:"); double secondNum = scanner.nextDouble(); double result = firstNum + secondNum; System.out.printf("和 = %.2f", result); // 保留两位小数输出 scanner.close(); // 释放资源 } }
执行示例:
输入第一个数:3.5
输入第二个数:7.2
和 = 10.70
浮点数精确计算
解决 float/double
精度丢失问题(如 1 + 0.2 ≠ 0.3
):
import java.math.BigDecimal; public class PreciseAddition { public static void main(String[] args) { BigDecimal a = new BigDecimal("0.1"); BigDecimal b = new BigDecimal("0.2"); BigDecimal sum = a.add(b); // 精确加法 System.out.println(sum); // 输出 0.3 } }
为什么用 BigDecimal
:
double
采用二进制浮点运算,存在舍入误差- 金额、科学计算等场景必须使用
BigDecimal
方法封装复用
将加法逻辑提取为独立方法:
public class MethodAddition { public static void main(String[] args) { System.out.println("整数相加:" + add(5, 8)); // 调用整数方法 System.out.println("浮点数相加:" + add(3.7, 2.4)); // 调用浮点方法 } // 重载方法:整数版本 public static int add(int a, int b) { return a + b; } // 重载方法:双精度版本 public static double add(double a, double b) { return a + b; } }
优势:
- 通过方法重载(Overloading)支持多数据类型
- 避免代码重复,提升可维护性
常见问题及解决方案
问题类型 | 原因 | 解决方案 |
---|---|---|
整数溢出 | 超出 int/long 范围 |
使用 BigInteger 类 |
精度丢失 | double 计算误差 |
换用 BigDecimal |
输入类型错误 | 用户输入非数字 | try-catch 捕获异常 |
资源未释放 | 未关闭 Scanner |
调用 scanner.close() |
最佳实践总结
- 明确数据类型:根据需求选择
int
,double
, 或精确计算类 - 异常处理:用户输入时添加验证逻辑
try { int num = scanner.nextInt(); } catch (InputMismatchException e) { System.out.println("请输入数字!"); }
- 大数处理:
- 超长整数:
BigInteger num = new BigInteger("12345678901234567890")
- 高精度小数:
BigDecimal
(如前文所示)
- 超长整数:
- 代码健壮性:始终关闭资源(I/O流、数据库连接等)
Java的加法操作看似简单,但结合数据类型、异常处理、对象封装等特性,能构建出严谨的工业级应用,建议通过IDE(如IntelliJ IDEA或Eclipse)实践调试,加深理解。
引用说明:本文代码基于Oracle官方Java 17规范,部分优化方案参考《Effective Java》[1],BigDecimal的使用遵循IEEE 754标准[2]。
[1] Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley.
[2] IEEE Computer Society. (2019). IEEE Standard for Floating-Point Arithmetic. IEEE Std 754-2019.
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/12546.html