Java中常用API总结(1)—— Math类(含底层源码阅读)

简介: Java中常用API总结(1)—— Math类(含底层源码阅读)

一、前言


本文将介绍有关于Java中的API相关知识点,本文将介绍Math类


二、概述


  • 帮助我们进行数学计算
  • 私有化构造方法
  • 所有方法都是静态的


三、源码阅读


Ctl+N搜索一下Math类,并选择java.long包下的Math


8197ef3d65d84fc8a3fea740fbe41afd.png

3af298621e654a08beae80f451cb342b.png


不难看出,Math类是私有化构造方法,且是静态方法


四、常见方法及使用


1.abs


public static int abs(int a)          // 返回参数的绝对值


2.ceil


public static double ceil(double a)    // 返回大于或等于参数的最小整数


3.floor


public static double floor(double a)    // 返回小于或等于参数的最大整数


4.round


public static int round(float a)    // 按照四舍五入返回最接近参数的int类型的值


5.max


public static int max(int a,int b)    // 获取两个int值中的较大值


6.min


public static int min(int a,int b)    // 获取两个int值中的较小值


7.pow


public static double pow (double a,double b)  // 计算a的b次幂的值


8.random


public static double random()     // 返回一个[0.0,1.0)的随机值


9.测试使用


在IDEA中测试一下代码


public class testMath {
    public static void main(String[] args) {
        int a = Math.abs(-5);
        System.out.println("-5的绝对值是:" + a);
        double b = Math.ceil(-5.29);
        System.out.println("大于或等于-5.29的最小整数位是:" + b);
        double c = Math.ceil(5.29);
        System.out.println("大于或等于5.29的最小整数位是:" + c);
        double e = Math.floor(-5.29);
        System.out.println("小于或等于-5.29的最小整数位是:" + e);
        double f = Math.floor(5.29);
        System.out.println("小于或等于5.29的最小整数位是:" + f);
        double g = Math.round(-5.29);
        System.out.println("-5.29四舍五入的结果为:" + g);
        double h = Math.round(5.29);
        System.out.println("5.29四舍五入的结果为:" + h);
        int max = Math.max(23,98);
        int min = Math.min(23,98);
        System.out.println("23和98中较大的数是:" + max +",较小的数是:" + min);
        double result = Math.pow(4,3);
        System.out.println("4的3次方是:" + result);
        double num = Math.random();
        System.out.println("获取到的0-1之间的随机数为:" + num);
    }
}


测试结果如下


-5的绝对值是:5

大于或等于-5.29的最小整数位是:-5.0

大于或等于5.29的最小整数位是:6.0

小于或等于-5.29的最小整数位是:-6.0

小于或等于5.29的最小整数位是:5.0

-5.29四舍五入的结果为:-5.0

5.29四舍五入的结果为:5.0

23和98中较大的数是:98,较小的数是:23

4的3次方是:64.0

获取到的0-1之间的随机数为:0.19119575402906042


03b2071c17f94a3297e11ff601ec01d8.png


五、实例应用——水仙花数


1.题目


自幂数,一个n位自然数等于自身各个数位上数字的n次幂之和,三位自幂数:水仙花数,统计一共有多少个水仙花数


2.解答


public class shuixianhua {
    public static void main(String[] args) {
        //计数器
        int count = 0;
        //得到每一个三位数
        for (int i = 100; i <= 999; i++) {
            //个位 十位 百位
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            //判断:
            //每一位的三次方之和 跟本身 进行比较。
            double sum = Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3);
            if (sum == i) {
                count++;
                System.out.println(i);
            }
        }
        System.out.println("水仙花数共有:"+count+"个");
    }
}


3.测试代码


153

370

371

407

水仙花数共有:4个


95cf1e3114d945299a5499143a900ffa.png


六、结语


下一篇文章将会讲述有关System类的知识点

相关文章
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
缓存 监控 负载均衡
如何提升 API 性能:来自 Java 和测试开发者的优化建议
本文探讨了如何优化API响应时间,提升用户体验。通过缓存(如Redis/Memcached)、减少数据负载(REST过滤字段或GraphQL精确请求)、负载均衡(Nginx/AWS等工具)、数据压缩(Gzip/Brotli)、限流节流、监控性能(Apipost/New Relic等工具)、升级基础设施、减少第三方依赖、优化数据库查询及采用异步处理等方式,可显著提高API速度。快速响应的API不仅让用户满意,还能增强应用整体性能。
|
API 开发工具 开发者
客流类API实测:门店到访客群画像数据
本文介绍了一个实用的API——“门店到访客群画像分布”,适用于线下实体门店进行客群画像分析。该API支持多种画像维度,如性别、年龄、职业、消费偏好等,帮助商家深入了解顾客特征,提升运营效率。文章详细说明了API的参数配置、响应数据、接入流程,并附有Python调用示例,便于开发者快速集成。适合零售、餐饮等行业从业者使用。
客流类API实测:门店到访客群画像数据
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
JSON Java API
【干货满满】分享淘宝API接口到手价,用Java语言实现
本文介绍了如何使用 Java 调用淘宝开放平台 API 获取商品到手价,涵盖依赖配置、签名生成、HTTP 请求与响应解析等核心实现步骤。
|
JSON JavaScript 前端开发
Python+JAVA+PHP语言,苏宁商品详情API
调用苏宁商品详情API,可通过HTTP/HTTPS发送请求并解析响应数据,支持多种编程语言,如JavaScript、Java、PHP、C#、Ruby等。核心步骤包括构造请求URL、发送GET/POST请求及解析JSON/XML响应。不同语言示例展示了如何获取商品名称与价格等信息,实际使用时请参考苏宁开放平台最新文档以确保兼容性。
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
483 11
|
数据采集 存储 Java
Java爬虫获取微店店铺所有商品API接口设计与实现
本文介绍如何使用Java设计并实现一个爬虫程序,以获取微店店铺的所有商品信息。通过HttpClient发送HTTP请求,Jsoup解析HTML页面,提取商品名称、价格、图片链接等数据,并将其存储到本地文件或数据库中。文中详细描述了爬虫的设计思路、代码实现及注意事项,包括反爬虫机制、数据合法性和性能优化。此方法可帮助商家了解竞争对手,为消费者提供更全面的商品比较。
|
11月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。