Java Number & Math 类,超详细整理,适合新手入门

简介: Java Number & Math 类,超详细整理,适合新手入门

一、什么是Java Number类

Java Number类是Java中的一个抽象类,它是所有数值类型的超类,包括整数、浮点数和大数。它提供了一组用于操作数值类型的方法,如转换、比较、算术运算等。

二、Java Number类提供了哪些基本的数字操作?

Java Number类提供了以下基本的数字操作:转换,比较,算术运算,取整,取余,取最大值和最小值,取绝对值,取幂,取对数,取根号,取随机数,取符号,取精度,取舍入值等。

三、什么是包装类

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。

所有的包装类都是抽象类 Number 的子类。

包装类

基本数据类型

Boolean

boolean

Byte

byte

Short

short

Integer

int

Long

long

Character

char

Float

float

Double

double

四、什么是Java Math 类

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

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

Test类案例:(Math.PI 表示一个圆的周长与直径的比例,约为 3.14159~)

1. public class Test {  
2. public static void main (String []args)
3.     {  
4.         System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  
5.         System.out.println("0度的余弦值:" + Math.cos(0));  
6.         System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  
7.         System.out.println("1的反正切值: " + Math.atan(1));  
8.         System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));  
9.         System.out.println(Math.PI);  
10.     }  
11. }

五、Number & Math 类方法

xxxValue用于将number对象转换为xxx数据类型的值并返回

1. package com.leo.demo;
2. 
3. /**
4.  * @author Java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. Integer x = 6;
10.         System.out.println(x.byteValue());
11.         System.out.println(x.shortValue());
12.         System.out.println(x.intValue());
13.         System.out.println(x.longValue());
14.         System.out.println(x.floatValue());
15.         System.out.println(x.doubleValue());
16.     }
17. }

compareTo() 方法用于将 Number 对象与方法的参数进行比较

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // compareTo()将number对象与参数比较
10. Integer x = 6;
11. // 小于参数返回-1
12.         System.out.println(x.compareTo(5));
13. // 等于参数返回0
14.         System.out.println(x.compareTo(6));
15. // 大于参数返回1
16.         System.out.println(x.compareTo(8));
17.     }
18. }

equals()用于判断Number对象与方法的参数是否相等

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // equals()用于判断Number对象与方法的参数是否相等
10. Integer x = 6;
11.         System.out.println(x.equals(6.0));
12. // 参数类型与值相等返回true,否则返回false
13.         System.out.println(x.equals(6));
14.         System.out.println(x.equals(8));
15.     }
16. }

valueOf() 方法用于返回给定参数的原生 Number 对象值

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // valueOf() 用于返回给定参数的原生Number对象值
10. Integer i = Integer.valueOf(6);
11. Long l = Long.valueOf(6);
12. Double d = Double.valueOf(6);
13. Float f = Float.valueOf(6);
14. 
15.       System.out.println(i);
16.       System.out.println(l);
17.       System.out.println(d);
18.       System.out.println(f);
19.     }
20. }

toString()以字符串形式返回值

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // toString()用于返回一个字符串表示的Number对象值
10. Integer x = 6;
11.       System.out.println(x.toString());
12. 
13.     }
14. }

parseInt()将字符串解析为int类型

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // parseInt() 将字符串解析为int类型
10.         System.out.println(Integer.parseInt("6"));
11.     }
12. }

abs() 返回参数的绝对值

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // abs() 返回参数的绝对值
10.         System.out.println(Math.abs(-6));
11.     }
12. }

ceil() 向上取整

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // ceil()向上取整
10.         System.out.println(Math.ceil(1.3));
11.     }
12. }

floor()向下取整

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // floor()向下取整
10.         System.out.println(Math.floor(1.3));
11.     }
12. }

round()四舍五入

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // round() 四舍五入
10.         System.out.println(Math.round(1.3));
11.         System.out.println(Math.round(1.6));
12.     }
13. }

rint() 返回与参数最接近的整数

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // rint() 返回与参数最接近 的整数
10.         System.out.println(Math.rint(1.3));
11.         System.out.println(Math.rint(1.6));
12.     }
13. }

min() 返回两个参数中最小值

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // min() 返回两个参数中最小值
10.         System.out.println(Math.min(1, 2));
11.     }
12. }

max() 返回两个参数中最大值

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // max() 返回两个参数中最大值
10.         System.out.println(Math.max(1, 2));
11.     }
12. }

random() 返回一个随机数

1. package com.leo.demo;
2. 
3. /**
4.  * @author java
5.  */
6. public class MainClass {
7. 
8. public static void main(String[] args) {
9. // random() 返回一个随机数
10.         System.out.println(Math.random());
11.     }
12. }



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