每天一道面试题之Java中的Math类常用的方法

简介: 每天一道面试题之Java中的Math类常用的方法

Java中的Math类常用的方法:

类Math包含用于执行基本数字运算的方法

数据运算部分:

1:Math.abs()//对数据取绝对值运算
2:Math.sqrt()//对数据取平方根运算
3:Math.cbrt()//对数据取立方根运算

举例:

public class Test1 {
     public static void main(String[] args) {
        int i=-2;
        System.out.println(i+"的绝对值是:"+Math.abs(i));
        int a=9;
        System.out.println(a+"取平方根为:"+Math.sqrt(a));
        int b=27;
        System.out.println(b+"取立方根为:"+Math.cbrt(b));
        System.out.println(i+"和"+a+"二者中较大的值是:"+Math.max(i,a));
        System.out.println(i+"和"+a+"二者中较小的值是:"+Math.min(i,a));
        int c=3;
        System.out.println(a+"的"+c+"次方的值为:"+Math.pow(a,c));
     }
}

输出如下所示:

-2的绝对值是:2
9取平方根为:3.0
27取立方根为:3.0
-2和9二者中较大的值是:9
-2和9二者中较小的值是:-2
9的3次方的值为:729.0

数据取整部分:

1:Math.ceil()//对数据进行向上取整
2:Math.floor()//对数据进行向下取整
3;Math.round()//对数据进行四舍五入

举例:

 public class Test1 {
     public static void main(String[] args) {
         //向上取整部分
        double a= 11.3;
        System.out.println(a+"向上取整的结果是"+Math.ceil(a));
        double b=-11.3;
        System.out.println(b+"向上取整的结果是"+Math.ceil(b));
        //向下取整部分
         double c= 9.4;
         System.out.println(c+"向下取整的结果是"+Math.floor(c));
         double d=-9.4;
         System.out.println(d+"向下取整的结果是"+Math.floor(d));
         //四舍五入部分
         double i=12.5;
         System.out.println(i+"四舍五入的结果是"+Math.round(i));
         double l=-12.5;
         System.out.println(l+"四舍五入的结果是"+Math.round(l));
         double p=12.1;
         System.out.println(p+"四舍五入的结果是"+Math.round(p));
         double k=-12.1;
         System.out.println(k+"四舍五入的结果是"+Math.round(k));
     }
}

输出结果:

11.3向上取整的结果是12.0
-11.3向上取整的结果是-11.0
9.4向下取整的结果是9.0
-9.4向下取整的结果是-10.0
12.5四舍五入的结果是13
-12.5四舍五入的结果是-12
12.1四舍五入的结果是12
-12.1四舍五入的结果是-12
相关文章
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
160 57
|
11天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
2月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
9天前
|
缓存 安全 Java
【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)
单例模式下,“饿汉模式”,“懒汉模式”,单例模式下引起的线程安全问题,解锁思路和解决方法
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
65 8
|
2月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
76 4
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
137 4
|
2月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
84 2

热门文章

最新文章