Java Number&Math类
Number&Math类
所有包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类;
包装类 | 基本数据类型 |
---|---|
Boolean | boolean |
Byte | byte |
Short | short |
Integer | int |
Long | long |
Character | char |
Float | float |
Double | double |
Java Math类
Java的math包含了用于执行基本数学运算的属性和方法,如:初等函数、对数、平方根数和三角函数;
math的方法都被定义为static形式,通过math类可以再主函数中直接调用。
例:
1 public class mathTest { 2 public static void main(String[] args){ 3 System.out.println("90度的正弦值: "+ Math.sin(Math.PI/2)); 4 System.out.println("0度的余弦值: "+ Math.cos(0)); 5 System.out.println("60度的正切值: "+ Math.tan(Math.PI/3)); 6 System.out.println("π的值为"+Math.PI); 7 } 8 }
Number&Math的类方法
number和math的常用类方法:
序号 | 方法与描述 |
---|---|
1 | xxxValue() 将 Number 对象转换为xxx数据类型的值并返回。 |
2 | compareTo() 将number对象与参数比较。 |
3 | equals() 判断number对象是否与参数相等。 |
4 | valueOf() 返回一个 Number 对象指定的内置数据类型 |
5 | toString() 以字符串形式返回值。 |
6 | parseInt() 将字符串解析为int类型。 |
7 | abs() 返回参数的绝对值。 |
8 | ceil() 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。 |
9 | floor() 返回小于等于(<=)给定参数的最大整数 。 |
10 | rint() 返回与参数最接近的整数。返回类型为double。 |
11 | round() 它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。 |
12 | min() 返回两个参数中的最小值。 |
13 | max() 返回两个参数中的最大值。 |
14 | exp() 返回自然数底数e的参数次方。 |
15 | log() 返回参数的自然数底数的对数值。 |
16 | pow() 返回第一个参数的第二个参数次方。 |
17 | sqrt() 求参数的算术平方根。 |
18 | sin() 求指定double类型参数的正弦值。 |
19 | cos() 求指定double类型参数的余弦值。 |
20 | tan() 求指定double类型参数的正切值。 |
21 | asin() 求指定double类型参数的反正弦值。 |
22 | acos() 求指定double类型参数的反余弦值。 |
23 | atan() 求指定double类型参数的反正切值。 |
24 | atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。 |
25 | toDegrees() 将参数转化为角度。 |
26 | toRadians() 将角度转换为弧度。 |
27 | random() 返回一个随机数。 |
Java xxxValue()方法:
xxxValue()将Number对象转换为xxx数据类型并返回:
byteValue():以byte形式返回;
doubleValue():以double形式返回指定的数据;
floatValue():以float形式返回指定的数据;
......
例:
1 public class xxxValueTest { 2 public static void main(String[] args){ 3 Integer x = 5; 4 System.out.println(x.doubleValue()); 5 System.out.println(x.byteValue()); 6 } 7 }
Java compareTo()方法
compareTo()方法用于将Number对象的与方法的参数进行比较,如Byte、Long、Integer等;
该方法用于比较两个相同数据类型的比较,两个不同的数据类型不能比较;
例:
1 public class compareToTest { 2 public static void main(String[] args){ 3 Integer x = 5; 4 System.out.println(x.compareTo(4)); 5 System.out.println(x.compareTo(5)); 6 System.out.println(x.compareTo(6)); 7 } 8 }
如上,当指定数小于参数返回1;
当指定数等于参数返回0;
当指定数大于参数返回-1;
Java equals()方法:
equals()方法用于判断Number对象与方法的参数是否相等;
实例:
1 public class equalsTest { 2 public static void main(String[] args){ 3 Integer x = 5; 4 Integer y = 10; 5 Integer z = 5; 6 Short a = 6; 7 System.out.println(x.equals(y)); 8 System.out.println(x.equals(z)); 9 System.out.println(x.equals(a)); 10 } 11 }
结果如下:
如上,只有当类型和值都相等时,equals()方法返回true,否则返回false;
Java valueOf()方法:
valueOf()方法用于返回给定参数的原生Number对象值,参数可以是原生数据类型,String等。
该方法可以接收两个参数,一个是字符串,一个数基数。
语法:
1 Static Integer valueOf(int i) 2 static Integer valueOf(String s) 3 static Integer valueOf(String s, int radix)
参数:
- i--Integer 对象的整数;
- s--Integer 对象的字符串;
- radix--在解析字符串s时使用的进制数,用于指定进制数;
例:
1 public class valueOfTest { 2 public static void main(String[] args){ 3 Integer x = Integer.valueOf(5); 4 Double a = Double.valueOf(9); 5 Float b = Float.valueOf(10); 6 Integer y = Integer.valueOf("100", 16);//使用16进制 7 System.out.println(x); 8 System.out.println(a); 9 System.out.println(b); 10 System.out.println(y); 11 12 } 13 }
toString()方法:
toString()方法用于返回一个字符串表示Number对象值;
语法:
String.toString() static String toString(int i)
实例
1 public class toStringTest { 2 public static void main(String[] args){ 3 Integer a = 5; 4 System.out.println(a.toString()); 5 System.out.println(Integer.toString(12)); 6 } 7 }
parseInt()方法
parseInt()方法将字符串参数作为有符号的十进制整数解析
例:
1 public class parseTest { 2 public static void main(String[] args){ 3 System.out.println(Integer.parseInt("9")); 4 System.out.println(Integer.parseInt("99", 16)); 5 System.out.println(Float.parseFloat("9")); 6 } 7 }
abs()方法:
abs()方法返回绝对值,参数可以是int、float、double、short、byte类型;
语法:
double abs(double a) float abs(float b) int abs(int c) ...
参数可以是任何原生数据类型
例:
1 public class absTest { 2 public static void main(String[] args){ 3 Integer a = -1; 4 double b = -100; 5 float f = 90f; 6 System.out.println(Math.abs(a)); 7 System.out.println(Math.abs(b)); 8 System.out.println(Math.abs(f)); 9 } 10 }
执行后为:
random()方法:
random()方法返回一个随机数,随机范围为0.0<=Math.random<1.0
这是一个默认方法,不接受任何参数
例
1 public class randomTest { 2 public static void main(String[] args){ 3 System.out.println(Math.random()* 100); 4 } 5 }