Java数字处理类-- Math类--数学运算

news2024/11/19 14:42:13

        在Java中提供了一个执行数学基本运算的Math类,该类包括了常用的数学运算方法和常量,包括【三角函数方法】,【指数函数方法】,【取整函数方法】、【取最大值函数方法】、【取最小值函数方法】、【取平均值函数方法】、【对数函数方法】,【平方根函数方法】、【PI】、【E】等,这些方法都被定义为static形式,调用方便。

1. 调用方式:

        Math.数学方法/Math.PI/Math.E

2. 三角函数方法:返回值都是double型

        2.1 返回三角正弦:

                public static double sin(double a)

        2.2 返回三角余弦:

                public static double cos(double a)

        2.3 返回三角正切:

                public static double tan(double a)

        2.4 返回一个值的反正弦:

                public static double asin(double a)

        2.5 返回一个值的反余弦:

                public static double acos(double a)

        2.6 返回一个的反正切:

                public static double atan(double a)

        2.7 将角度转换为弧度:

                public static double toRadians(double angdeg)

        2.8 将弧度转换为角度:

                public static double toDegrees(double angrad

package MathInfo;

import java.lang.Math;

public class TrigonometricFunction {
    public static void main(String[] args) {
        System.out.println("90度正弦值:" + Math.sin(Math.PI / 2));  //取90度正弦值
        System.out.println("0度余弦值:" + Math.cos(0));   //取0度余弦值
        System.out.println("60度正切值:" + Math.tan(Math.PI / 3));  //取60度正切值
        System.out.println("2的平方根与2商的反正弦值:" + Math.asin(Math.sqrt(2) / 2));
        System.out.println("2的平方根与2商的反余弦值:" + Math.acos(Math.sqrt(2) / 2));
        System.out.println("1的反正切值:" + Math.atan(1)); //取1的反正切值
        System.out.println("120度的弧度值:" + Math.toRadians(120.0));  //取120度的弧度值
        System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI / 2));   //取π/2的角度值
    }
}

输出:
        90度正弦值:1.0
        0度余弦值:1.0
        60度正切值:1.7320508075688767
        2的平方根与2商的反正弦值:0.7853981633974484
        2的平方根与2商的反余弦值:0.7853981633974483
        1的反正切值:0.7853981633974483
        120度的弧度值:2.0943951023931953
        π/2的角度值:90.0

3. 指数函数方法

        3.1 获取e的a次方,即取e^a:

                public static double exp(double a) 

        3.2 获取自然对数,即lna的值:

                 public static double log(double a) 

        3.3 获取底数为10的对数:

                 public static double log10(double a) 

        3.4 获取a的平方根,其中a的值不能为负数:

                public static double sqrt(double a)    

        3.5 取a的立方根:

                public static double cbrt(double a)      

        3.6 获取a的b次方:

                public static double pow(double a, double b) 

package MathInfo;

public class ExponentFunction {
    public static void main(String[] args) {
        System.out.println("e的平方值:" + Math.exp(2));
        System.out.println("以e为底2的对数:" + Math.log(2));
        System.out.println("以10为底2的对数:" + Math.log10(2));
        System.out.println("取4的平方根:" + Math.sqrt(4));
        System.out.println("取8的立方根:" + Math.cbrt(8));
        System.out.println("取2的2次方:" + Math.pow(2, 2));
    }
}

输出:
        e的平方值:7.38905609893065
        以e为底2的对数:0.6931471805599453
        以10为底2的对数:0.3010299956639812
        取4的平方根:2.0
        取8的立方根:2.0
        取2的2次方:4.0

4. 取整函数方法

        4.1 返回大于等于参数的最小整数:

                public static double ceil(double a)

        4.2 返回小于等于参数的最大整数:

                public static double floor(double a)

        4.3 返回与参数最接近的整数,如果两个同为整数且同样接近,则取偶数:

                public static double rint(double a)

        4.4 将参数加上0.5后返回小于等于参数+0.5后最大的整数:

                public static int round(float a)

        4.5 将参数加上0.5后返回小于等于参数+0.5后最大的整数,然后强制转换为长整型:

                public static long round(double a)

package MathInfo;

public class IntFunction {
    public static void main(String[] args) {
        //返回第一个大于等于参数的整数
        System.out.println("使用ceil()方法取整:" + Math.ceil(5.2));
        //返回第一个小于等于参数的整数
        System.out.println("使用floor()方法取整:" + Math.floor(5.2));
        //返回与参数最接近的整数
        System.out.println("使用rint()方法取整:" + Math.rint(2.7));
        //返回与参数最接近的整数
        System.out.println("使用rint()方法取整:" + Math.rint(2.5));
        //将参数加上0.5后返回最接近的整数
        System.out.println("使用round()方法取整:" + Math.round(3.4f));
        //将参数加上0.5后返回最接近的整数,然后强制转换为长整型long
        System.out.println("使用round()方法取整:" + Math.round(2.4));
    }
}

输出:
        使用ceil()方法取整:6.0
        使用floor()方法取整:5.0
        使用rint()方法取整:3.0
        使用rint()方法取整:2.0
        使用round()方法取整:3
        使用round()方法取整:2

5. 取最大值、最小值、绝对值函数方法

        5.1 取a,b中的较大值,参数为整数

                public static double max(double a, double b)

        5.2 取a,b中的较小值,参数为整数

                public static int min(int a, int b)        

        5.3 取a,b中的较小值,参数为长整型

                public static long max(long a, long b)

        5.4 取a,b中的较小值,参数为浮点型

                public static float max(float a, float b)

        5.5 取a,b中的较小值,参数为双精度型

                public static double min(double a, double b)         

        5.6 取整型参数的绝对值

                public static int abs(int a) 

        5.7 取长整型参数的绝对值

                public static long abs(long a) 

        5.8 取浮点型参数的绝对值

                public static float abs(float a) 

        5.9 取双精度型参数的绝对值

                public static double abs(doulbe a) 

package MathInfo;

public class AnyFunction {
    public static void main(String[] args) {
        System.out.println("4和8的较大值是:" + Math.max(4, 8));
        System.out.println("4和8的较小值是:" + Math.min(4, 8));
        System.out.println("-7的绝对值是:" + Math.abs(-7));
    }
}

输出:
        4和8的较大值是:8
        4和8的较小值是:4
        -7的绝对值是:7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1112427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# Onnx Yolov8 Detect 路面坑洼检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…

使用 VS Code 作为 VC6 的编辑器

使用 VS Code 作为 VC 6.0 的编辑器 由于一些众所周知的原因,我们不得不使用经典(过时)的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说,这个经典的 IDE 过于简陋,并且早已不兼容新的操作系…

kubernetes(2)

pod管理 应用部署 上传测试镜像 [rootk8s1 docker]# docker push reg.westos.org/library/myapp:v1 [rootk8s1 docker]# docker push reg.westos.org/library/myapp:v2创建自助式pod(生产不推荐) [rootk8s2 ~]# kubectl run demo --imagemyapp:v1[ro…

iZotope RX 10for Mac /Windows- 音频修复的终极解决方案

随着音乐和电影制作的复杂性日益增加,高质量的音频修复变得越来越重要。iZotope RX 10,作为业界公认的专业音频修复软件,为你提供了强大、精确的工具,让你的声音变得清晰、纯净。 在音频修复领域,iZotope RX 10凭借其…

【vue3】组件间通讯

1.上级传给下级 父级组件&#xff1a; <ReqTab ref"crontabRef" hide"openCronfalse" fill"crontabFill" :expression"expression" :method"method" ></ReqTab> 函数中赋值&#xff1a; 子组件&#xff1a; …

IP协议(上)

目录 一、初步认识IP协议 二、认识IP地址 三、协议报头格式 1.报头和有效载荷分离 2.20字节的固定数据 四、网段划分 1.一个小例子 2.认识IP地址的划分 3.数据的传输过程 4.特殊的IP地址 5.通信运营商 &#xff08;1&#xff09;通信运营商的作用 &#xff08;2&a…

Unity可视化Shader工具ASE介绍——9、整理节点让复杂的Shader条理更清晰

阿赵的Unity可视化Shader工具ASE介绍目录 大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader编辑工具ASE。上一篇介绍UI特效Shader的时候&#xff0c;连接了一个Shader 这个shader不是很复杂&#xff0c;但看起来也有点乱七八糟的。接下来通过对这个shader的节点连…

微信小程序设计之主体文件app-json-pages

一、新建一个项目 首先&#xff0c;下载微信小程序开发工具&#xff0c;具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后&#xff0c;注册小程序账号&#xff0c;具体注册方法&#xff0c;可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

Linux生产者消费者模型

生产者消费者模型 生产者消费者模型生产者消费者模型的概念生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型基于阻塞队列的生产者消费者模型模拟实现基于阻塞队列的生产消费模型 生产者消费者模型 生产者消费者模型的概念 生产者消费者模式就…

ChatGPT AIGC自动生成多条件复杂计算函数

在Excel中经常会遇到多条件判断,根据不同的条件与内容显示不同的值。 例如: 需要给每个员工根据入职年限,员工等级,满意度等维度给员工发年终奖。 这在职场办公过程中经常要面临的一个问题。如销售额达到多少,取多少提成,如学生成绩在什么区间是设置为优秀还是良好等一…

Windows开启telnet功能

打开控制面板&#xff0c;找到「程序和功能」&#xff0c;点击「启动或关闭Windows功能」 勾选「Telnet客户端」 点击确定&#xff0c;等待Windows完成设置。 然后就可以啦~ 今日金句&#xff1a; 煞笔给我退退退&#xff01;&#xff01;&#xff01;

ELK 单机安装

一丶软件下载 elasticsearch: https://www.elastic.co/downloads/past-releases kibana: https://www.elastic.co/downloads/past-releases 选择对应的版本的下载即可 二、es 安装es比较简单 rpm -ivh elasticsearch-2.4.2.rpm 修改配置文件 /etc/elasticsearch/elas…

基于SSM+Vue的体育馆管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

vue3插件开发,上传npm

创建插件 在vue3工程下&#xff0c;创建组件vue页: toolset.vue。并设置组件名称。注册全局组件。新建index.js文件。内容如下&#xff0c;可在main.js中引入index.js&#xff0c;注册该组件进行测试。![在这里插入图片描述](https://img-blog.csdnimg.cn/a3409d2cbeec41c797d5…

大数据Flink(九十九):SQL 函数的解析顺序和系统内置函数

文章目录 SQL 函数的解析顺序和系统内置函数 一、​​​​​​​SQL 函数

k8s kubernetes 1.23.6 + flannel公网环境安装

准备环境&#xff0c;必须是同一个云服务厂商&#xff0c;如&#xff1a;华为&#xff0c;阿里、腾讯等&#xff0c;不要存在跨平台安装K8S&#xff0c;跨平台安装需要处理网络隧道才能实现所有节点在一个网络集群中&#xff0c;这里推荐使用同一家云服务厂商安装即可 这里使用…

微信小程序实现类似于 vue中ref管理调用子组件函数的方式

微信小程序中确实有类似于 vue 中 ref管理子组件的方式、 这里 我给子组件定义了一个 class 只要是 css选择器拿得到的 都没什么问题 但你要保证唯一性 建议前端开发还是慎重一点 就算是不能重复也尽量用class 因为id总还是有风险的 然后 我在子组件中顶一个了一个函数 start…

AQS中lock源码解析

什么是AQS&#xff1f; 就是基于双向链表CAS实现的锁的一种机制或者方法思想。就是AbstractQueuedSynchronizer&#xff0c;是Java并发包下的一个基类基于AQS实现的同步器包括&#xff1a;ReentrantLock、CountDownLatch、Samaphone、FutureTask、ReentrantWriteLock Abstrac…

基于nodejs+vue云旅青城系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

Qt ModelViewDelegate(模型-视图-代理) 介绍和使用

一、Model (模型) 介绍 Qt Model 是 Qt 的一个重要组件&#xff0c;用于管理和展示数据。它是 Qt 的 Model/View 架构的核心部分&#xff0c;用于将数据模型与其视图相分离&#xff0c;实现数据的高效处理和可视化呈现。 Qt Model 可以理解成一组数据结构&#xff0c;其中包含…