常用类库-java.lang.Math

Java中lang包的常用方法介绍 JAVA API(图片来源:实验楼) 包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() int 以 int 型返回此 Integer 对象 zebra stripes are neat 以 int 型返回此 Integer 对象 toString() String 返回一个表示该 Inte... 阅读详情

常用类库-java.lang.Math

简介

类名:public final class Math extends Object

类 Math 包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。Math 类不可以被继承,类中的方法都是静态方法,以 Math . 方法名 的形式调用。

常用字段

E

字段名:public static final double E

介绍:

e e e 在数学中为自然常数,它是自然对数函数的底数,其本身是一个无限不循环小数。此处 E 是 java 中一个最接近

该自然常数的数,且 E = 2.718281828459045 。

PI

字段名:public static final double PI

介绍:

p i pi pi 是一个数学常数,它表示圆周率,即圆的周长与直径的比值,其本身是一个无限不循环小数。此处 PI 是 java 中一个最接近该常数的数,且 PI = 3.141592653589793 。

常用方法

abs

方法名:

public static int abs(int a)

public static long abs(long a)

public static float abs(float a)

public static double abs(double a)

作用:

返回传入的参数 a 的绝对值。

特例:

int 中的最小值 Integer.MIN_VALUE 的绝对值不变。

long 中的最小值 Long.MIN_VALUE 的绝对值不变。

float 和 double 中正无穷和负无穷的绝对值是正无穷大,NaN 的绝对值是NaN。

使用案例:

public class MathTest {
    public static void main(String[] args) {
        System.out.println(1 + "  取绝对值  " + Math.abs(1));
        System.out.println(-1 + "  取绝对值  " + Math.abs(-1));
        System.out.println(0 + "  取绝对值  " + Math.abs(0));
        System.out.println(-0 + "  取绝对值  " + Math.abs(-0));
        System.out.println(Integer.MAX_VALUE + "  取绝对值  " + Math.abs(Integer.MAX_VALUE));
        System.out.println(Integer.MIN_VALUE + "  取绝对值  " + Math.abs(Integer.MIN_VALUE));
        System.out.println(Long.MAX_VALUE + "  取绝对值  " + Math.abs(Long.MAX_VALUE));
        System.out.println(Long.MIN_VALUE + "  取绝对值  " + Math.abs(Long.MIN_VALUE));
        System.out.println(Float.NaN + "  取绝对值  " + Math.abs(Float.NaN));
        System.out.println(Double.NaN + "  取绝对值  " + Math.abs(Double.NaN));
        System.out.println(Float.POSITIVE_INFINITY + "  取绝对值  " + Math.abs(Float.POSITIVE_INFINITY));
        System.out.println(Float.NEGATIVE_INFINITY + "  取绝对值  " + Math.abs(Float.NEGATIVE_INFINITY));
        System.out.println(Double.POSITIVE_INFINITY + "  取绝对值  " + Math.abs(Double.POSITIVE_INFINITY));
        System.out.println(Double.NEGATIVE_INFINITY + "  取绝对值  " + Math.abs(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

max

方法名:

public static int max(int a, int b)

public static long max(long a, long b)

public static float max(float a, float b)

public static double max(double a, double b)

作用:

比较参数 a 与 b 的值,返回参数中较大的那一个数。任何数与 NaN 比较结果都是 NaN 。

min

方法名:

public static int min(int a, int b)

public static long min(long a, long b)

public static float min(float a, float b)

public static double min(double a, double b)

作用:

比较参数 a 与 b 的值,返回参数中较小的那一个数。任何数与 NaN 比较结果都是 NaN 。

ceil

方法名:public static double ceil(double a)

作用:

返回一个大于等于传入参数 a 的最小整数的 double 值。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。
  • 参数在区间 (-1 , 0) 内时,返回值为 -0.0。

使用案例:

/**
 *@ClassName: CeilTest
 *@Description: ceil的使用
 *
 */
public class CeilTest {
    public static void main(String[] args) {
        System.out.println("2.1  取ceil  " + Math.ceil(2.1));
        System.out.println("2.0  取ceil  " + Math.ceil(2.0));
        System.out.println("-2.1  取ceil  " + Math.ceil(-2.1));
        System.out.println("-2.0  取ceil  " + Math.ceil(-2.0));
        System.out.println("-0.1  取ceil  " + Math.ceil(-0.1));
        System.out.println("-0.0  取ceil  " + Math.ceil(-0.0));
        System.out.println("0.0  取ceil  " + Math.ceil(0.0));
        System.out.println("NaN  取ceil  " + Math.ceil(Double.NaN));
        System.out.println("正无穷  取ceil  " + Math.ceil(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取ceil  " + Math.ceil(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

floor

方法名:public static double floor(double a)

作用:

返回一个小于等于传入参数 a 的最大整数的 double 值。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。

使用案例:

/**
 *@ClassName: FloorTest
 *@Description: floor的使用
 *
 */
public class FloorTest {
    public static void main(String[] args) {
        System.out.println("2.1  取floor  " + Math.floor(2.1));
        System.out.println("2.0  取floor  " + Math.floor(2.0));
        System.out.println("-2.1  取floor  " + Math.floor(-2.1));
        System.out.println("-2.0  取floor  " + Math.floor(-2.0));
        System.out.println("-0.1  取floor  " + Math.floor(-0.1));
        System.out.println("-0.0  取floor  " + Math.floor(-0.0));
        System.out.println("0.0  取floor  " + Math.floor(0.0));
        System.out.println("NaN  取floor  " + Math.floor(Double.NaN));
        System.out.println("正无穷  取floor  " + Math.floor(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取floor  " + Math.floor(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

rint

方法名:public static double rint(double a)

作用:

返回一个最接近传入参数 a 的整数的 double 值。当向上和向下取值一样接近时,取结果为偶数的取值,例如: 1.5 则取 2.0 、2.5 则取 2.0 、3.5 则取 4.0。

特例:

  • 参数为整数时,返回值与参数相等。
  • 参数为 NaN 或无穷大或正负零时,返回值与参数相等。

使用案例:

/**
 *@ClassName: RintTest
 *@Description: rint的使用
 *
 */
public class RintTest {
    public static void main(String[] args) {
        System.out.println("2.1  取rint  " + Math.rint(2.1));
        System.out.println("2.0  取rint  " + Math.rint(2.0));
        System.out.println("2.5  取rint  " + Math.rint(2.5));
        System.out.println("3.5  取rint  " + Math.rint(3.5));
        System.out.println("-0.5  取rint  " + Math.rint(-0.5));
        System.out.println("-1.5  取rint  " + Math.rint(-1.5));
        System.out.println("-0.1  取rint  " + Math.rint(-0.1));
        System.out.println("-0.0  取rint  " + Math.rint(-0.0));
        System.out.println("0.0  取rint  " + Math.rint(0.0));
        System.out.println("NaN  取rint  " + Math.rint(Double.NaN));
        System.out.println("正无穷  取rint  " + Math.rint(Double.POSITIVE_INFINITY));
        System.out.println("负无穷  取rint  " + Math.rint(Double.NEGATIVE_INFINITY));
    }
}

在这里插入图片描述

round

方法名:

  1. public static int round(float a)
  2. public static long round(double a)

作用:

  1. 返回一个最接近传入参数 a 的整数的 int 值。当向上和向下取值一样接近时,向上取值,即取结果较大的取值,例如: 1.5 距 1.0 和 2.0 一样近,最终取 2.0 。
  2. 返回一个最接近传入参数 a 的整数的 long 值。当向上和向下取值一样接近时,向上取值,即取结果较大的取值,例如: 1.5 距 1.0 和 2.0 一样近,最终取 2.0 。

特例:

  • 参数为 NaN 时,返回值为 0。
  • 方法1,当参数为 float 型正无穷或参数大于等于 Integer.MAX_VALUE 时,返回值为 Integer.MAX_VALUE 。
  • 方法1,当参数为 float 型负无穷或参数小于等于 Integer.MIN_VALUE 时,返回值为 Integer.MIN_VALUE 。
  • 方法2,当参数为 double 型正无穷或参数大于等于 Long.MAX_VALUE 时,返回值为 Long.MAX_VALUE 。
  • 方法2,当参数为 double 型负无穷或参数小于等于 Long.MIN_VALUE 时,返回值为 Long.MIN_VALUE 。

使用案例:

/**
 *@ClassName: RoundTest
 *@Description: round的使用
 *
 */
public class RoundTest {
    public static void main(String[] args) {
        System.out.println("2.0  取round  " + Math.round(2.0));
        System.out.println("2.1  取round  " + Math.round(2.1));
        System.out.println("2.5  取round  " + Math.round(2.5));
        System.out.println("-0.1  取round  " + Math.round(-0.1));
        System.out.println("-0.5  取round  " + Math.round(-0.5));
        System.out.println("-0.9  取round  " + Math.round(-0.9));
        System.out.println("-1.4  取round  " + Math.round(-1.4));
        System.out.println("-1.5  取round  " + Math.round(-1.5));
        System.out.println("-1.6  取round  " + Math.round(-1.6));
        System.out.println("-0.0  取round  " + Math.round(-0.0));
        System.out.println("0.0  取round  " + Math.round(0.0));
        System.out.println("NaN  取round  " + Math.round(Float.NaN));
        System.out.println("NaN  取round  " + Math.round(Double.NaN));
        System.out.println("float正无穷  取round  " + Math.round(Float.POSITIVE_INFINITY));
        System.out.println("float负无穷  取round  " + Math.round(Float.NEGATIVE_INFINITY));
        System.out.println("double正无穷  取round  " + Math.round(Double.POSITIVE_INFINITY));
        System.out.println("double负无穷  取round  " + Math.round(Double.NEGATIVE_INFINITY));
        System.out.println("int最大值  取round  " + Math.round(Integer.MAX_VALUE * 1.0f));
        System.out.println("大于int最大值  取round  " + Math.round(Integer.MAX_VALUE + 2.0f));
        System.out.println("long最大值  取round  " + Math.round(Long.MAX_VALUE * 1.0d));
        System.out.println("大于long最大值  取round  " + Math.round(Long.MAX_VALUE + 2.0d));
    }
}

在这里插入图片描述

random

方法名:public static double random()

作用:

返回一个 double 类型的伪随机数,其值大于等于0.0且小于1.0,即在区间 [ 0.0 , 1.0 ) 内。

使用案例:
在这里插入图片描述

pow

方法名:public static double pow(double a, double b)

作用:

返回 a b a^b ab 的结果的 double 值。

使用案例:
在这里插入图片描述

sqrt

方法名:public static double sqrt(double a)

作用:

返回 a \sqrt{a} a ​ 的结果的 double 值。

特例:

  • 参数 a 小于 0 或为负无穷或为 NaN 时,返回值为 NaN 。
  • 参数 a 为正零或负零时,返回值不变仍为参数。
  • 参数 a 为正无穷时,返回值为正无穷。

使用案例:

/**
 *@ClassName: SqrtTest
 *@Description: sqrt的使用
 *
 */
public class SqrtTest {
    public static void main(String[] args) {
        System.out.println("2  取sqrt  " + Math.sqrt(2));
        System.out.println("4  取sqrt  " + Math.sqrt(4));
        System.out.println("0.0  取sqrt  " + Math.sqrt(0.0));
        System.out.println("-0.0  取sqrt  " + Math.sqrt(-0.0));
        System.out.println("-1  取sqrt  " + Math.sqrt(-1));
        System.out.println("NaN  取sqrt  " + Math.sqrt(Double.NaN));
        System.out.println("负无穷  取sqrt  " + Math.sqrt(Double.NEGATIVE_INFINITY));
        System.out.println("正无穷  取sqrt  " + Math.sqrt(Double.POSITIVE_INFINITY));

    }
}

在这里插入图片描述

java.lang.Math NULL 博文链接:https://kinedy.iteye.com/blog/738093 立即下载

相关推荐

两轮差速移动机器人运动分析、建模和控制

两轮差速运动分析及建模运动学分析三种运动状态分析函数模型仿真验证直线验证曲线验证旋转验证运动控制 运动学分析 运动特性为两轮差速驱动,其底部后方两个同构驱动轮的转动为其提供动力,前方的随动轮起支撑作用并不推动其运动,如图1两轮差速驱动示意图所示。 定义其左右驱动轮的中心分别为Wl和Wr,且对应线速度为Vl和Vr,该值可以通过电机驱动接口输出的角转速ωl,ωr2和驱动轮半径r求得,即: Vl=r⋅...

启小新的博客 8万+

Java.lang.Math类详解

Math类位于Java.lang包中,包含用于执行基本数学运算的方法!Math类的所有执行方法都是静态方法,可以直接使用类名.方法名调用,如:Math.round() 常用的方法:Math.round() 返回最接近参数的 int,它表示"四舍五入" Math.rint() 返回最接近参数并等于某一整数的 double 值,如果有2...

Jason的学习笔记 8078

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

zeng699304的博客 2万+

java.lang.Math类使用简介

java.lang.Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 注意:Math类中的所有字段和方法都是静态static的,所以调用的时候直接使用类名调用即可。 1.字段常量: 1.1 自然对数的底数 public static final double E 比任何其他值都更接近 e(即自然对数的底数)的 double 值。值为:2.718281828459045 1.2 圆周率 public static final double PI 比任何其他值都更接近 pi(

冰雪世界 1872

[数据转换]将NetCDF(NC)文件转换成单个GeoTIFF文件

有时候要提取tif格式数据中的气象数据,但从气象网站上下载的却是NC格式的文件。这就需要我们将NC格式的文件转换成TIF格式的文件。

G_sea_young的博客 1004

【ATC/DTC方法第四期】GOT09-dT-tao 昼夜温度周期模型方法介绍(含Python代码实现)

GOT09-dT-tao 模型是一种经过简化和参数固定的 昼夜温度周期模型(Diurnal Temperature Cycle, DTC)。它从 GOT09 模型(Göttsche and Olesen, 2009)衍生而来,但更加轻量化,更适合在数据不足或参数估计困难的情境下使用。

WW、forever的博客 147

java.lang.Math常用方法

大家不要重复造轮子,也不要自己随便写一些数据类型相加的方法,直接使用java.lang.Math的常用的一些运算方法。举个例子,long基础数据类型范围是[-9223372036854775808, 9223372036854775807],上面a+b刚好超过long类型的值域范围,最大值加1得到-9223372036854775808(转换为二进制加1,首位0表示正数,1表示负数)使用的addExact方法数据溢出后会抛出异常。源码如下,

四问四不知的博客 1491

小梅哥Xilinx FPGA学习笔记11——亚稳态

亚稳态就是D触发器输入信号在其数据窗口期内发生变化,导致D触发器的输出进入一段时间的不稳定状态,有可能发生振荡,并最终随机稳定在高电平或者低电平。

m0_51430584的博客 631

java.lang.math_java.lang.Math中的基本方法

java.lang.Math类提供的方法都是static的,“静态引入”使得不必每次在调用类方法时都在方法前写上类名:import static java.lang.Math.*;这样在调用Math的方法时就能够简单地写出方法名,比如:cos(radians);----------------------------------------------------------1、基本方法:abs,...

weixin_29958797的博客 1314

Arduino ESP32S3 基础入门教学大纲

ESP32环境、Arduino

追梦 3546

国科大人工智能原理与算法-2024-第一次作业-雷震老师

1. 反射行动(比如从热炉子上缩回你的手)是理性的吗?它们是智能的吗? 2. 以下的计算机系统在何种程度上是人工智能的实例: - 超市条码扫描器 - 网络搜索引擎 - 语音激活的电话菜单 - 对网络状态动态响应的网络路由算法 3. 为什么进化会倾向于导致行为合理的系统?设计这样的系统想达到的目标是什么?

MatsumotoChrikk 2928

Java的常用类库

Java的常用类库 java.util.Objects: 变量和类型 方法 描述 static int checkFromIndexSize(int fromIndex, int size, int length) 检查是否在子范围从fromIndex (包括)到 fromIndex+size(不包括)是范围界限内 0(包括)到 length(不包括)。 static int checkFromToIndex(int fromIndex, int toIndex, int lengt

weixin_44178431的博客 311

2026华为OD面试手撕代码真题目录

一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。

MISAYAONE的博客 9万+

Java 常用类库及String类详解

Java常用类库不要求有很多思想上的东西,要求对其有很熟练的使用能力。常用类库就好比在生活中手艺人手中的工具,作为一个Java程序员我们也必须熟练掌握这些工具。 导航一、java.util.Objects二、java.lang.Math三、java.util.Arrays四、java.math.BigDecimal五、java.util.Date六、java.text.DateFormatjava.text.SimpleDateFormat七、java.util.Calendar八、java.lang.Sy

xxq010516的博客 527

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java学习路程5——常用类库

第四章第2节:常用类库 1.学习指导: 当一个手艺人,知道,了解,学习,掌握(记忆)工具: 作为学徒:了解,大量的使用,实验,测试,总结,最后整理成笔记,要非常详细和系统。 整理成文档,要非常详细,比如某个工具,有那几个方法,每个方法有什么功能,需要穿什么参数,能得到什么结果? 2.泛型概述: 泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 3.泛型在接口中的使用 4.jav

ZXyuan优快云的博客 213

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

妄想成为Java程序员Day11:常用类库,泛型,集合

常用类库 1 泛型 1.1概念: 参数化类型,就是将原来的具体的类型参数化类似于方法中的变量。 先定义一个泛型 , 以后使用的时候再定义泛型的类型。 1.2使用方式 1.2.1使在类中用 private class ClassName{ private T data; } 外界实例化这个类的时候要给T赋值,赋值进来的值是什么类型,T就是什么类型。 格式: ClassName p = new Person<>(); 注意:在编译之后,程序会采取去泛型措施。//即在编译过程中,正确检验泛型结果后,会

weixin_44190985的博客 211

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java类库介绍_JAVA基本类库介绍

我们曾经讲过,Java已经为编程者编制了许多类,这些类已经经过测试,基本上不存在错误,这些类都是我们编程的基础。如果不利用这些已存在的类,我们的 编程工作将变得异常复杂,所以我们应尽可能多的掌握Java基本类库的内容。这一章和下一章将向读者介绍Java基本类库的结构和一些常用类以及如何参考 Java技术文档,让读者能进一步提高自己学习重点● 包的概念● java.lang中的几个基本类● 如何查阅...

weixin_34118593的博客 868

JAVA基本类库介绍

我们曾经讲过,Java已经为编程者编制了许多类,这些类已经经过测试,基本上不存在错误,这些类都是我们编程的基础。如果不利用这些已存在的类,我们的 编程工作将变得异常复杂,所以我们应尽可能多的掌握Java基本类库的内容。这一章和下一章将向读者介绍Java基本类库的结构和一些常用类以及如何参考 Java技术文档,让读者能进一步提高自己 学习重点 ● 包的概念 ● jav...

weixin_30383279的博客 157

java常用类库API

Java 的标准类库(Java Standard API)提供了丰富的功能和工具,用于开发各种类型的应用程序。java.lang包:提供了 Java 语言的核心类和基本功能,如字符串处理、异常处理、多线程等。StringMathObjectException等。java.util包:提供了各种实用工具类和数据结构,如集合类、日期时间处理、随机数生成等。ArrayListHashMapDateRandom等。java.io包:提供了输入输出操作相关的类,用于文件和流的读写。FileReaderWriter等。

m0_56224451的博客 230

2020-12-27

JAVA常用类库的部分整理 java.util.Objects public final class Objects extends Object 此类包含static实用程序方法,用于操作对象或在操作前检查某些条件。 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。 从JDK1.7版本开始 //一些常用方法 //1.检查 index是否在 0 (含)到 length (不包括)范围内 static int chec

chong_tiantian的博客 171

java常用类库——lang包

文章目录lang包Object包装类字符串SystemMathThrowable异常分类注释类型Override lang包 ​ java.lang包是提供利用java编程语言进行程序设计的基础类,在项目中使用的时候不需要import。 思维导图 Object Object是所有类的超类 Object类定义了一些有用的方法,由于是根类,这些方法在其他类中都存在,一般是进行重载或者重写覆盖,实现了...

码农@攻城狮 2万+

Java常用类库:Class Math

Java常用类库 1、Class Math 1.1、Math类的介绍 1.2、Math类的方法 1.2.1、abs方法 1.2.2、max方法和min方法 1.2.3、addExact方法 1.2.4、subtractExact方法 1.2.5、multiplyExact方法 1.2.6、negateExact方法 1.2.7、incrementExact方法 1.2.9、求三角函数的方法 1.2.10、求基本指数和对数的方法 1.2.11、round方法 1.2.12、random方法

friend_X的博客 738

java.lang包介绍

前言 java.lang包是java语言的核心,它提供了java中的基础类。包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。我们介绍一下Java 8中的java.lang包。主要类如下图: 下面分别介绍其中比较常用的类: 一、类型 对象基类 Object,是java.lang的根类,也是所有类的超类。 类 Class...

淡淡的倔强的博客 2万+

java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long

java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long问题描述:报错信息:Error querying database. Cause: java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger ...

qq_36785719的博客 1万+
下一篇: 常用类库-java.util.Date
杯酒笑离殇
博客等级 码龄11年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值