一、什么是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. }