当前位置:首页 > 后端开发 > 正文

如何在Java中相加两个数字?

在Java中实现两个数相加,可通过定义变量存储数值,使用 +运算符计算和,最后用 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):

如何在Java中相加两个数字? 第1张

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


方法封装复用

将加法逻辑提取为独立方法:

如何在Java中相加两个数字? 第2张

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()


最佳实践总结

  1. 明确数据类型:根据需求选择 int, double, 或精确计算类
  2. 异常处理:用户输入时添加验证逻辑 try { int num = scanner.nextInt(); } catch (InputMismatchException e) { System.out.println("请输入数字!"); }
  3. 大数处理
    • 超长整数:BigInteger num = new BigInteger("12345678901234567890")
    • 高精度小数:BigDecimal(如前文所示)
  4. 代码健壮性:始终关闭资源(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.

如何在Java中相加两个数字? 第3张

0