Java基础教程——Math类

Math

Java这种级别的编程语言怎么可能没有数学相关的操作呢?

java.lang.Math类提供了基本数学运算的方法。

该类是final的,说明不能被继承。

该类的构造方法是私有的(private),说明不让实例化;

该类中的所有方法都是静态的,均可以通过类名直接调用;

Math类中有两个常量:

|-PI:圆周率π
|-E:自然常量(约为2.71828)

public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;

主要方法:

static int abs(int a) 求a的绝对值,有4种重载,还有float,double和long
static double pow(double a, double b) 求a的b次方幂
static double sqrt(double a) 求a的平方根
static int round(float a) 求a的四舍五入结果(仅适用于舍入到整数)
static double ceil(double a) 返回不小于a的最小整数值(正向取整)
static double floor(double a) 返回不大于a的最大整数值(负向取整)
public class TestMath {
	public static void main(String[] args) {
		System.out.println(Math.abs(-3.01));
		System.out.println(Math.pow(2.0, 10.0));
		System.out.println(Math.sqrt(81));
		// 小数处理
		double num = 3.4;
		System.out.println("round " + num + " = " + Math.round(num));
		num = 3.5;
		System.out.println("round " + num + " = " + Math.round(num));
		num = 3.001;
		System.out.println("ceil " + num + " = " + Math.ceil(num));
		num = 3.999;
		System.out.println("floor " + num + " = " + Math.floor(num));
	}
}

关于取整、舍入:
向上取整的案例:10吨货物,车每次运3吨,需3+1次
向下取整的案例:抹零


向上取整,是向“正方向”取整
向下取整,是向“负方向”取整

0.1 向上取整的结果是:1.0
0.9 向上取整的结果是:1.0
-0.1 向上取整的结果是:-0.0
-0.9 向上取整的结果是:-0.0


0.1 向下取整的结果是:0.0
0.9 向下取整的结果是:0.0
-0.1 向下取整的结果是:-1.0
-0.9 向下取整的结果是:-1.0


0.4 四舍五入的结果是:0
0.5 四舍五入的结果是:1
-0.6 四舍五入的结果是:-1
-0.5 四舍五入的结果是:0

public class Test取整舍入 {
    public static void main(String[] args) {
        向上取整(0.1);
        向上取整(0.9);
        向上取整(-0.1);
        向上取整(-0.9);
        System.out.println("----------");
        向下取整(0.1);
        向下取整(0.9);
        向下取整(-0.1);
        向下取整(-0.9);
        System.out.println("----------");
        四舍五入(0.4);
        四舍五入(0.5);
        四舍五入(-0.6);
        四舍五入(-0.5);
    }
    static void 四舍五入(double p) {
        System.out.println(p + " 四舍五入的结果是:" + Math.round(p));
    }
    static void 向上取整(double p) {
        System.out.println(p + " 向上取整的结果是:" + Math.ceil(p));
    }
    static void 向下取整(double p) {
        System.out.println(p + " 向下取整的结果是:" + Math.floor(p));
    }
}
原文地址:https://www.cnblogs.com/tigerlion/p/11179172.html