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类的知识点

相关文章
|
25天前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
77 4
|
30天前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
128 5
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
109 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
168 1
|
22天前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
26天前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
1月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
20天前
|
人工智能 自然语言处理 测试技术
Apipost智能搜索:只需用业务语言描述需求,就能精准定位目标接口,API 搜索的下一代形态!
在大型项目中,API 数量庞大、命名不一,导致“找接口”耗时费力。传统工具依赖关键词搜索,难以应对语义模糊或命名不规范的场景。Apipost AI 智能搜索功能,支持自然语言查询,如“和用户登录有关的接口”,系统可理解语义并精准匹配目标接口。无论是新人上手、模糊查找还是批量定位,都能大幅提升检索效率,降低协作成本。从关键词到语义理解,智能搜索让开发者少花时间找接口,多专注核心开发,真正实现高效协作。
|
2月前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。

热门文章

最新文章