Java常用类库:Math类

在Java编程语言中,`java.lang.Math`类提供了一系列用于执行基本数学运算的静态方法。这些方法允许你执行各种数学计算,如三角函数、指数函数、对数函数、取整函数等。在本教程中,我们将介绍Math类的常用方法及其用法。

常用方法

以下是Math类中一些常用的静态方法:

1. 数学运算方法:

- `abs(double a)`:返回指定数字的绝对值。

- `max(double a, double b)`:返回两个数中较大的那个数。

- `min(double a, double b)`:返回两个数中较小的那个数。

- `pow(double a, double b)`:返回指定数字的指定次幂。

- `sqrt(double a)`:返回指定数字的平方根。

2. 取整方法:

- `ceil(double a)`:返回大于等于参数的最小整数。

- `floor(double a)`:返回小于等于参数的最大整数。

- `round(double a)`:将参数四舍五入为最接近的整数。

3. 三角函数:

- `sin(double a)`:返回角度的正弦值。

- `cos(double a)`:返回角度的余弦值。

- `tan(double a)`:返回角度的正切值。

- `asin(double a)`:返回角度的反正弦值。

- `acos(double a)`:返回角度的反余弦值。

- `atan(double a)`:返回角度的反正切值。

4. 指数和对数函数:

- `exp(double a)`:返回自然数e的参数次幂。

- `log(double a)`:返回参数的自然对数(以e为底)。

- `log10(double a)`:返回参数的以10为底的对数。

使用示例

以下是Math类的一些常见用法示例:

public class Main {
    public static void main(String[] args) {
        double a = 10.5;
        double b = 5.7;

        // 数学运算方法
        System.out.println("Absolute value of a: " + Math.abs(a));
        System.out.println("Maximum of a and b: " + Math.max(a, b));
        System.out.println("Minimum of a and b: " + Math.min(a, b));
        System.out.println("a raised to the power of b: " + Math.pow(a, b));
        System.out.println("Square root of a: " + Math.sqrt(a));

        // 取整方法
        System.out.println("Ceiling of a: " + Math.ceil(a));
        System.out.println("Floor of a: " + Math.floor(a));
        System.out.println("Rounded value of a: " + Math.round(a));

        // 三角函数
        double angle = 45.0;
        System.out.println("Sine of " + angle + " degrees: " + Math.sin(Math.toRadians(angle)));
        System.out.println("Cosine of " + angle + " degrees: " + Math.cos(Math.toRadians(angle)));
        System.out.println("Tangent of " + angle + " degrees: " + Math.tan(Math.toRadians(angle)));

        // 指数和对数函数
        System.out.println("Exponential value of a: " + Math.exp(a));
        System.out.println("Natural logarithm of a: " + Math.log(a));
        System.out.println("Base-10 logarithm of a: " + Math.log10(a));
    }
}

这些方法可以在数学计算、科学工程、游戏开发等各种领域中发挥作用。通过熟练掌握Math类的使用方法,你可以更高效地进行数学运算和数据处理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小迪安全33WEB 攻防-通用漏洞文件上传中间件解析漏洞编辑器安全

#知识点: 1、中间件安全问题 2、中间件文件上传解析 3、Web 应用编辑器上传 编辑器也就是第三方插件,一般都是文件上传漏洞 #详细点: 1、检测层面:前端,后端等 2、检测内容:文件头,完…

linux安装ngnix

一、将nginx-1.20.1.tar.gz上传至linux服务器目录下 二、将nginx安装包解压到/usr/local目录下 tar -zxvf /home/local/nginx-1.20.1.tar.gz -C /usr/local/三、预先安装依赖 yum -y install pcre-devel yum -y install openssl openssl-devel yum -y install gcc gcc-c auto…

部署LVS负载均衡架构

目录 一、ipvsadm 工具 二、NAT模式下部署LVS负载均衡 1、部署NFS共享存储服务器 1.1 安装NFS软件 1.2 新建共享目录和站点文件 1.3 设置共享策略 2、部署节点服务器1 2.1 安装并启动nginx软件 2.2 挂载共享目录到网页站点目录 2.3 修改网关 3、部署节点服务器2 3.…

Python算法100例-3.7 高次方数的尾数

1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序 1.问题描述 求13的13次方的最后三位数。 2.问题分析 许多初学者看到本题最容易想到的方法就是:将13累乘13次后截取最后三位即可。但是计算机中存储的整数是有一定范围的&#…

视频扩散模型介绍 Video Diffusion Models Introduction

视频扩散模型介绍 Video Diffusion Models Introduction Diffusion 扩散模型中的一些概念DDPMDDIMCLIPLatent DiffusionStable DiifusionLoRADreamBoothControlNet 视频生成评估标准图片层面视频层面 前人的工作Make-A-VideoAlign your Latents 开源视频生成模型ModelScopeT2V&…

vant van-field 密码输入框小程序里隐藏、显示密码bug总结

老规矩先上效果图: vant 输入框组件 密码的隐藏与显示功能: 注: 用password属性控制密码的显示与隐藏 不要用type属性,type属性在真机上有时会没有效果 1、当然如果只用typepassword 不需要切换显示、隐藏也可以使用。 2、如果用到了密码的显示与…

pandas数据合并

import pandas as pd import numpy as np# 随机生成两个df df1 pd.DataFrame(np.random.randn(3,4),columns [A,B,C,D]) df2 pd.DataFrame(np.random.randn(2,3),columns [A,B,D])print(打印df1\n,df1) print(打印df2\n,df2)# 默认纵向合并 qh_df_z pd.concat([df1,df2]) …

掌握Nodejs高级图片压缩技巧提升web优化

掌握Nodejs高级图片压缩技巧提升web优化 在当今的数字时代,图像在网络开发中发挥着至关重要的作用。它们增强视觉吸引力、传达信息并吸引用户。然而,高质量的图像通常有一个显着的缺点——较大的文件大小会减慢网页加载时间。为了应对这一挑战并确保快速加载网站,掌握 Node…

高中信息技术教资学习

一、几种排序方法的基本思想 1、直接插入排序(假设按照从小到大进行排序) 默认第一个元素是有序的,从有序的元素末尾开始,与要插入的元素进行比较,如果要插入的元素比有序的末尾元素小的话,就将有序末尾元…

ChatGPT高效提问——说明提示技巧

ChatGPT高效提问——说明提示技巧 现在,让我们开始体验“说明提示技巧”(IPT, Instructions Prompt Technique)和如何用它生成来自ChatGPT的高质量的文本。说明提示技巧是一个通过向ChatGPT提供需要依据的具体的模型的说明来指导ChatGPT输出…

图神经网络实战(4)——基于Node2Vec改进嵌入质量

图神经网络实战(4)——基于Node2Vec改进嵌入质量 0. 前言1. Node2Vec 架构1.2 定义邻居1.2 在随机游走中引入偏向性1.3 实现有偏随机游走 2. 实现 Node2Vec小结系列链接 0. 前言 Node2Vec 是一种基于 DeepWalk 的架构,DeepWalk 主要由随机游…

Vue源码系列讲解——过滤器篇【三】(解析过滤器)

目录 1. 前言 2. 在何处解析过滤器 3. parseFilters函数分析 4. 小结 1. 前言 在上篇文章中我们说了,无论用户是以什么方式使用过滤器,终归是将解析器写在模板中,既然是在模板中,那它肯定就会被解析编译,通过解析用…

【ESP32 IDF快速入门】点亮第一个LED灯与流水灯

文章目录 前言一、有哪些工作模式?1.1 GPIO的详细介绍1.2 GPIO的内部框图输入模式输出部分 二、GPIO操作函数2.1 GPIO 汇总2.2 GPIO操作函数gpio_config配置引脚reset 引脚函数设置引脚电平选中对应引脚设置引脚的方向 2.3 点亮第一个灯 三、流水灯总结 前言 ESP32…

【Godot4.2】GDScript数组分类及类型化数组和紧缩数组概述

概述 GDScript的数组是一种很常用的数据类型。本文主要阐述一下GDScript数组分类,以及官方文档和大多数视频或教程较少提及的类型化数组和紧缩数组。 GDScript数组分类 通过反复查阅GDScript内置文档并进行细节比较,发现GDScript的数组,可…

Qt for WebAssembly : Application exit (SharedArrayBuffer is not defined)

用Qt开发 WebAssembly,放到nginx里面,用127.0.0.1访问没问题,用局域网IP访问就提示如下: 总结了以下两种解决办法: ①:配置 nginx http 头 [ 支持:WebAssembly Qt (single-threaded) ] ②&#…

关于 selinux 规则

1. 查看selinux状态 SELinux的状态: enforcing:强制,每个受限的进程都必然受限 permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志 disabled:禁用 相关命令&#xf…

ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效

随着Open AI公司推出的Sora文生视频模型惊艳亮相互联网,AI语音克隆创企ElevenLabs又为Sora的演示视频生成了配音,所有的音效均由AI创造,与视频内容完美融合。 ElevenLabs的语音克隆技术能够从一分钟的音频样本中创建逼真的声音。为了实现这一…

LVS集群 ----------------(直接路由 )DR模式部署

一、LVS集群的三种工作模式 lvs-nat:修改请求报文的目标IP,多目标IP的DNAT lvs-dr:操纵封装新的MAC地址(直接路由) lvs-tun:隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…

Ubuntu 22.04修改静态ip

1. 备份原网络配置文件 # 配置文件名称因机器设置有异 cd /etc/netplan cp 01-network-config.yaml 01-network-config.yaml.bak# 文件内容如下 network:version: 2renderer: NetworkManager2. 修改配置文件 使用 ipconfig 命令查看网络信息,ip addr 命令也可 我这…

【S32DS报错】-8-调用初始化函数Port_Init后,S32DS断开与调试器PEmicro/J-Link的连接,无法调试Debug(基于MCAL)

问题背景: 在S32DS IDE中,调用初始化函数Port_Init后,S32DS断开与调试器PEmicro / J-Link的连接,无法调试Debug: 问题原因: 调用初始化函数Port_Init时,MCU的JTAG接口被初始化,导致…