Java - Math类的常用方法及练习

2023-12-13 04:19:12

目录

1.1 概述

1.2 常用方法

??面试题:为啥Math.round(-1.5)=-1?


1.1 概述

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

1.2 常用方法

方法名 方法名

说明

补充

public static int abs(int a)

返回参数的绝对值

public static double ceil(double a)

返回大于或等于参数的最小double值,等于一个整数

ceil(天花板),向上取整

-1.5向上取整为-1

public static double floor(double a)

返回小于或等于参数的最大double值,等于一个整数

floor(地板),向下取整

-1.5向下取整为-2

public static int round(float a)

按照四舍五入返回最接近参数的int

round(-1.5)=-1

🧀实例1(向上取整)

package Day1109;


public class TestDemo01 {
    public static void main(Stringargs) {
        doubleTest_Data= {1,1.3,1.6,0,-1,-1.3,-1.6};
        for (int i = 0; i < Test_Data.length; i++) {
            System.out.println(Test_Data[i]+"的Math.ceil结果为:"+Math.ceil(Test_Data[i]));
        }
    }
}

?结果:

🧀实例2(向下取整)

package day1211;

public class testDemo03 {
    public static void main(String[] args) {
        double[] Test_Data= {1,1.3,1.5,1.6,0,-1,-1.3,-1.5,-1.6};
        for (int i = 0; i < Test_Data.length; i++) {
            System.out.println(Test_Data[i]+"的Math.floor结果为:"+Math.floor(Test_Data[i]));
        }
    }
}

结果

🧀实例3(四舍五入)

package day1211;

public class testDemo03 {
    public static void main(String[] args) {
        double[] Test_Data= {1,1.3,1.5,1.6,0,-1,-1.3,-1.5,-1.6};
        for (int i = 0; i < Test_Data.length; i++) {
            System.out.println(Test_Data[i]+"的Math.round结果为:"+Math.round(Test_Data[i]));
        }
    }
}

?结果:

?

??面试题:为啥Math.round(-1.5)=-1?

四舍五入的算法:Math.floor(a+0.5) 加0.5然后向下取整

-1.5+0.5=-1,向下取整,所以还是-1

-1.6+0.5=-1.1,向下取整,所以是-2

?

文章来源:https://blog.csdn.net/weixin_40968325/article/details/134959306
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。