JAVA常用类Math

2024-06-20 23:04
文章标签 java math 常用

本文主要是介绍JAVA常用类Math,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

下面详细介绍该类的常量及数学处理方法。

1.1、静态常量

Math 类中包含 E 和 PI 两个静态常量,正如它们名字所暗示的,它们的值分别等于 e(自然对数)和 π(圆周率)。

调用 Math 类的 E 和 PI 两个常量,并将结果输出。示例代码如下:

System.out.println("E 常量的值:" + Math.E);		// E 常量的值:2.718281828459045
System.out.println("PI 常量的值:" + Math.PI);	// PI 常量的值:3.141592653589793

1.2、求最大值、最小值和绝对值

在程序中常见的就是求最大值、最小值和绝对值问题,如果使用 Math 类提供的方法可以很容易实现。

方法描述
Math.abs()它将返回给定值的绝对值。
Math.max()它返回两个值中的最大值。
Math.min()它用于返回两个值中的最小值。

1.3、求整运算

Math 类的求整方法有很多。

方法描述
Math.ceil()返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。
Math.floor()返回小于等于(<=)给定参数的最大整数 。
Math.rint()返回与参数最接近的整数,返回类型为double。
Math.round()它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,

1.4、三角函数运算

Math 类中包含的三角函数方法及其说明如下表所示。

方法描述
Math.sin()它用于返回给定双精度值的三角正弦值。
Math.cos()它用于返回给定双精度值的三角余弦值。
Math.tan()它用于返回给定双精度值的三角正切值。
Math.asin()它用于返回给定双精度值的三角反正弦值
Math.acos()它用于返回给定双精度值的三角反余弦值。
Math.atan()它用于返回给定双精度值的三角反正切值。
Math.toRadians()它用于将指定的度角转换为以弧度为单位测量的等效角度。

在上表中,每个方法的参数和返回值都是 double 类型,参数以弧度代替角度来实现,其中 1 度等于 π/180 弧度,因此平角就是 π 弧度。

计算 90 度的正弦值、0 度的余弦值、1 的反正切值、120 度的弧度值,代码如下:

System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));	// 90 度的正弦值:1.0
System.out.println("0 度的余弦值:" + Math.cos(0));			// 0 度的余弦值:1.0
System.out.println("1 的反正切值:" + Math.atan(1);			// 1 的反正切值:0.7853981633974483
System.out.println("120 度的弧度值:" + Math.toRadians(120.0));	// 120 度的弧度值:2.09

1.5、指数运算

指数的运算包括求方根、取对数及其求 n 次方的运算。

方法描述
Math.exp()返回自然数底数e的参数次方。
Math.pow()返回第一个参数的第二个参数次方。
Math.sqrt()求参数的算术平方根。
Math.cbrt()返回任意数字的立方根.
Math.log()返回参数的自然数底数的对数值。

使用 Math 类中的方法实现指数的运算,示例代码如下:

System.out.println("2 的立方值:" + Math.pow(2, 3));		// 2 的立方值:8.0
System.out.println("16 的平方根:" + Math.sqrt(16));		// 16 的平方根:4.0

这篇关于JAVA常用类Math的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079513

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方