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

在Java中实现两个数相加,可通过定义变量存储数值,使用+运算符计算和,最后用System.out.println()输出结果,示例代码:int a=5, b=3; System.out.println(a+b); 输出结果为8。

基础整数相加

适用于固定数值的简单计算:

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

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中相加两个数字?

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

最佳实践总结

  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)实践调试,加深理解。

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

引用说明:本文代码基于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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月6日 09:48
下一篇 2025年6月6日 09:59

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN