Java Number & Math 类

简介: Java Number & Math 类

Java Number & Math 类

Java 中的 Number 类是一个抽象类,它是所有数值类的超类(父类)。这包括 Byte, Short, Integer, Long, Float, Double, 以及 BigDecimalBigInteger 这些包装类。Number 类提供了将数值从一种类型转换为另一种类型的方法,例如 byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue() 等。

这里是一些基本用法示例:

java复制代码

 

Integer intNum = 10;

 

Double doubleNum = 20.5;

 

 

 

// 使用 Number 类的抽象方法

 

double doubleValue = intNum.doubleValue();

 

int intValue = doubleNum.intValue();

 

 

 

System.out.println("Integer as double: " + doubleValue);

 

System.out.println("Double as integer: " + intValue);

另一方面,Math 类是 Java 提供的一个工具类,包含用于执行基本数学运算的方法,如三角函数、指数函数、对数函数、舍入函数等。Math 类中的方法都是静态的,因此你可以直接通过类名调用它们,而无需创建 Math 类的实例。

以下是一些 Math 类方法的示例:

java复制代码

 

// 基本的数学运算

 

double add = Math.add(5.0, 3.0);

 

double subtract = Math.subtract(5.0, 3.0);

 

double multiply = Math.multiply(5.0, 3.0);

 

double divide = Math.divide(5.0, 3.0);

 

 

 

// 幂运算

 

double power = Math.pow(2.0, 3.0);

 

 

 

// 求平方根

 

double sqrt = Math.sqrt(9.0);

 

 

 

// 求绝对值

 

double abs = Math.abs(-5.0);

 

 

 

// 四舍五入

 

double round = Math.round(5.4999);

 

 

 

// 求最大值和最小值

 

int max = Math.max(10, 20);

 

int min = Math.min(10, 20);

 

 

 

// 三角函数

 

double sin = Math.sin(Math.toRadians(30));

 

double cos = Math.cos(Math.toRadians(30));

 

double tan = Math.tan(Math.toRadians(30));

 

 

 

// 指数和对数函数

 

double exp = Math.exp(1.0);

 

double log = Math.log(Math.E); // 自然对数

 

 

 

System.out.println("Add: " + add);

 

System.out.println("Subtract: " + subtract);

 

System.out.println("Multiply: " + multiply);

 

System.out.println("Divide: " + divide);

 

System.out.println("Power: " + power);

 

System.out.println("Sqrt: " + sqrt);

 

System.out.println("Abs: " + abs);

 

System.out.println("Round: " + round);

 

System.out.println("Max: " + max);

 

System.out.println("Min: " + min);

 

System.out.println("Sin: " + sin);

 

System.out.println("Cos: " + cos);

 

System.out.println("Tan: " + tan);

 

System.out.println("Exp: " + exp);

 

System.out.println("Log: " + log);

请注意,Math 类中的三角函数(如 sin, cos, tan)通常期望其参数是以弧度为单位的,因此你可能需要使用 Math.toRadians() 方法将角度转换为弧度。同样地,如果你需要将弧度转换回角度,可以使用 Math.toDegrees() 方法。

总的来说,Number 类是 Java 中所有数值类型的基类,而 Math 类则提供了执行基本数学运算的静态方法。

 

目录
相关文章
|
26天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
44 8
|
26天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
58 1
|
1月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
63 17
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
114 4
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
58 2
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
50 4
|
1月前
|
存储 Java Linux
Java“Bad Magic Number”错误解决
Java“Bad Magic Number”错误通常发生在尝试运行不兼容或损坏的类文件时。解决方法包括确保使用正确的JDK版本、检查类文件完整性、清理和重新编译项目。
124 7
|
1月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
44 5
|
1月前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
76 5