0Pricing
Java Academy · 课时

Math 类

常用数学函数

Math 类 是 CoddyKit 上的免费 Java Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。

Math 类

java.lang.Math 是一个内置的静态数学方法类。它位于 java.lang 中,因此不需要导入。您可以在该类上调用方法:Math.sqrt(2)。

幂和根

Math.pow(base, exp) 会将一个数提升到指定的幂,Math.sqrt(x) 会计算平方根。二者都会返回 double。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.pow(2, 10));
        System.out.println(Math.sqrt(144));
    }
}

绝对值

Math.abs 会返回一个数的大小并去掉符号。它针对 int、long、float 和 double 都提供了重载。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.abs(-42));
        System.out.println(Math.abs(-3.14));
    }
}

最小值和最大值

Math.min 和 Math.max 会返回两个值中较小或较大的那个。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.max(10, 25));
        System.out.println(Math.min(10, 25));
    }
}

PI 和 E 常量

Math 提供两个著名的常量:Math.PI 和 Math.E。它们是 public static final double 字段。

public class Main {
    public static void main(String[] args) {
        double radius = 3;
        double area = Math.PI * radius * radius;
        System.out.println("Area: " + area);
    }
}

三角函数

像 Math.sin、Math.cos 和 Math.tan 这样的三角函数使用的是弧度,而不是角度。请使用 Math.toRadians 进行转换。

public class Main {
    public static void main(String[] args) {
        double degrees = 90;
        double radians = Math.toRadians(degrees);
        System.out.println(Math.sin(radians));
    }
}

对数和指数

Math.log 是自然对数(以 e 为底),Math.log10 以 10 为底,而 Math.exp 会计算 e 的指定次幂。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.log10(1000));
        System.out.println(Math.exp(1));
    }
}

使用 hypot 计算距离

Math.hypot(x, y) 会计算 x 的平方加 y 的平方的平方根,同时避免中间结果溢出,非常适合计算二维距离。

public class Main {
    public static void main(String[] args) {
        double dist = Math.hypot(3, 4);
        System.out.println(dist);
    }
}

整数溢出辅助方法

如果结果溢出,Math.addExact 和 Math.multiplyExact 等方法会抛出 ArithmeticException,而不是悄悄回绕。

public class Main {
    public static void main(String[] args) {
        try {
            int result = Math.addExact(Integer.MAX_VALUE, 1);
            System.out.println(result);
        } catch (ArithmeticException e) {
            System.out.println("Overflow detected: " + e.getMessage());
        }
    }
}

返回类型是 double

大多数 Math 方法都会返回 double。如果需要 int,就必须显式转换:(int) Math.sqrt(16)。请注意,转换会向零截断。

public class Main {
    public static void main(String[] args) {
        int side = (int) Math.sqrt(16);
        System.out.println(side);
    }
}

一个小型计算

您可以组合多个 Math 方法来计算结果,例如通过平方和平方根计算斜边长度。

public class Main {
    public static void main(String[] args) {
        double a = 5, b = 12;
        double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
        System.out.println("Hypotenuse: " + c);
    }
}

快速检查

请检验您对 Math 类的理解。

回顾

您已经探索了 Math 类。

  • 它是静态的,并且位于 java.lang 中,因此不需要导入。
  • pow、sqrt、abs、min 和 max 可以处理常见运算。
  • 可以使用 PI 和 E 常量。
  • 三角函数使用弧度;大多数方法返回 double。

常见问题解答

「Math 类」课时是免费的吗?

是的 — 「Math 类」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。

「Math 类」这节课中我会学到什么?

常用数学函数 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「Math 类」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Math 类
  2. 生成随机数
  3. 随机范围与洗牌
  4. 数学舍入与界限
← 返回 Java Academy