Java Number&Math类

发布时间 2023-04-06 21:13:18作者: H年轻的心

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 }