10.7 Math类

10.7.1 概述

  java.lang.Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。

10.7.2 基本运算的方法

  • public static double abs(double a):返回 double 值的绝对值。

    1
    2
    double d1 = Math.abs(‐5); //d1的值为5
    double d2 = Math.abs(5); //d2的值为5
  • public static double ceil(double a):返回大于等于参数的最小的整数。

    1
    2
    3
    double d1 = Math.ceil(3.3); //d1的值为 4.0
    double d2 = Math.ceil(‐3.3); //d2的值为 ‐3.0
    double d3 = Math.ceil(5.1); //d3的值为 6.0
  • public static double floor(double a):返回小于等于参数最大的整数。

    1
    2
    3
    double d1 = Math.floor(3.3); //d1的值为3.0
    double d2 = Math.floor(‐3.3); //d2的值为‐4.0
    double d3 = Math.floor(5.1); //d3的值为 5.0
  • public static long round(double a):返回最接近参数的long。(相当于四舍五入方法)

    1
    2
    long d1 = Math.round(5.5); //d1的值为6.0
    long d2 = Math.round(5.4); //d2的值为5.0

10.7.3 练习

请使用Math相关的API,计算在 -10.8到5.9 之间, 绝对值大于6或者小于2.1 的整数有多少个?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MathTest {
public static void main(String[] args) {
// 定义最小值
double min = ‐10.8;
// 定义最大值
double max = 5.9;
// 定义变量计数
int count = 0;
// 范围内循环
for (double i = Math.ceil(min); i <= max; i++) {
// 获取绝对值并判断
if (Math.abs(i) > 6 || Math.abs(i) < 2.1) {
// 计数
count++;
}
}
System.out.println("个数为: " + count + " 个");
}
}