JAVA入门教程9-Number类

Java Number类

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

所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

包装类基本数据类型
Boolean boolean
Byte byte
Short short
Integer int
Long long
Character char
Float float
Double double

这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。


Java Math类

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

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

 

Number & Math 类方法

下面的表中列出的是常用的 Number 类和 Math 类的方法:

 

序号方法与描述
1 xxxValue()
将number对象转换为xxx数据类型的值并返回。
2 compareTo()
将number对象与参数比较。
3 equals()
判断number对象是否与参数相等。
4 valueOf()
返回一个Integer对象指定的内置数据类型
5 toString()
以字符串形式返回值。
6 parseInt()
将字符串解析为int类型。
7 abs()
返回参数的绝对值。
8 ceil()
对整形变量向左取整,返回类型为double型。
9 floor()
对整型变量向右取整。返回类型为double类型。
10 rint()
返回与参数最接近的整数。返回类型为double。
11 round()
返回一个最接近的int、long型值。
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()
返回一个随机数。

1、xxxValue() 方法

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

相关的方法有:

类型方法及描述
byte

byteValue() :

以 byte 形式返回指定的数值。

abstract double

doubleValue() :

以 double 形式返回指定的数值。

abstract float

floatValue() :

以 float 形式返回指定的数值。

abstract int

intValue() :

以 int 形式返回指定的数值。

abstract long

longValue() :

以 long 形式返回指定的数值。

short

shortValue() :

以 short 形式返回指定的数值。

参数

以上各函数不接受任何的参数。

返回值

转换为 xxx 类型后该对象表示的数值


 

2、compareTo() 方法

用于将 Number 对象方法参数进行比较。可用于比较 Byte, Long, Integer等。

该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。

语法

public int compareTo( NumberSubClass数字子类 referenceName参考名 )

参数

referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。

返回值

  • 如果指定的数与参数相等返回0

  • 如果指定的数小于参数返回 -1

  • 如果指定的数大于参数返回 1

实例

public class Test{ 
   public static void main(String args[]){
      Integer x = 5;
      System.out.println(x.compareTo(3));
      System.out.println(x.compareTo(5));
      System.out.println(x.compareTo(8));            
     }
}

编译以上程序,输出结果为:

1
0
-1

 

3、equals() 方法

用于判断 Number 对象与方法的参数进是否相等。

语法

public boolean equals(Object o)

参数

o -- 任何对象。

返回值

如 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。

Double 和 Float 对象还有一些额外的条件,可以参阅 API 手册:JDK 1.6

实例

public class Test{
	public static void main(String args[]){
		Integer x = 5;
		Integer y = 10;
		Integer z =5;
		Short a = 5;

		System.out.println(x.equals(y));  
		System.out.println(x.equals(z)); 
		System.out.println(x.equals(a));
	}
}

编译以上程序,输出结果为:

false
true
false

4、valueOf() 方法

用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。

该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数

语法

该方法有以下几种语法格式:

static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s, int radix基数)

参数

  • i -- Integer 对象的整数。

  • s -- Integer 对象的字符串。

  • radix --在解析字符串 s 时使用的基数,用于指定使用的进制数

返回值

  • Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。

  • Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。

  • Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

实例

public class Test{ 
public static void main(String args[]){
		Integer x =Integer.valueOf(9);
		Double c = Double.valueOf(5);
		Float a = Float.valueOf("80");               

		Integer b = Integer.valueOf("444",16);   // 使用 16 进制

		System.out.println(x); 
		System.out.println(c);
		System.out.println(a);
		System.out.println(b);
	}
}

编译以上程序,输出结果为:

9
5.0
80.0
1092

5、toString() 方法

valueOf() 方法用于返回以一个字符串表示的 Number 对象值。

如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。

如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式

语法

以 String 类为例,该方法有以下几种语法格式:

String toString()
static String toString(int i)

参数

  • i -- 要转换的整数

返回值

  • toString(): 返回表示 Integer 值的 String 对象。

  • toString(int i): 返回表示指定 int 的 String 对象。

实例

public class Test{
	public static void main(String args[]){
		Integer x = 5;

		System.out.println(x.toString());  
		System.out.println(Integer.toString(12)); 
	}
}

编译以上程序,输出结果为:

5
12

6、parseInt() 方法   ---解析

用于将字符串参数作为有符号十进制整数进行解析。

如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数

语法

所有 Number 派生类 parseInt 方法格式类似如下:

static int parseInt(String s)

static int parseInt(String s, int radix)

参数

  • s -- 十进制表示的字符串。

  • radix -- 指定的基数。

返回值

  • parseInt(String s): 返回用十进制参数表示的整数值。

  • parseInt(int i): 使用指定基数的字符串参数表示的整数 (基数可以是 10, 2, 8, 或 16 等进制数) 。

实例

public class Test{
	public static void main(String args[]){
		int x =Integer.parseInt("9");
		double c = Double.parseDouble("5");
		int b = Integer.parseInt("444",16);

		System.out.println(x);
		System.out.println(c);
		System.out.println(b);
	}
}

编译以上程序,输出结果为:

9
5.0
1092

7、abs() 返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。

语法

各个类型的方法格式类似如下:

double abs(double d)
float abs(float f)
int abs(int i)
long abs(long lng)

参数

  • 任何原生数据类型。

返回值

返回参数的绝对值。


 

8、ceil() 方法  ---天花板、上限

可对一个数进行上舍入,返回值大于或等于给定的参数。

语法

该方法有以下几种语法格式:

double ceil(double d)

double ceil(float f)

参数

  • double 或 float 的原生数据类型。

返回值

返回 double 类型,返回值大于或等于给定的参数。

 


9、floor() 方法  ---地板

可对一个数进行舍入,返回给定参数最大的整数,该整数小于或等给定的参数。

语法

该方法有以下几种语法格式:

double floor(double d)

double floor(float f)

参数

  • double 或 float 的原生数据类型。

返回值

返回 double 类型数组,小于或等于给定的参数。

实例

public class Test{
	public static void main(String args[]){
		double d = 100.675;
		float f = -90;

		System.out.println(Math.floor(d));
		System.out.println(Math.floor(f));

		System.out.println(Math.ceil(d));
		System.out.println(Math.ceil(f));
	}
}

编译以上程序,输出结果为:

100.0
-90.0
101.0
-90.0


10、rint() 方法   ----无线电侦察

返回最接近参数的整数值

语法

该方法有以下几种语法格式:

double rint(double d)

参数

  • double 原始数据类型

返回值

返回 double 类型数组,是最接近参数的整数值。

实例

public class Test{
	public static void main(String args[]){
		double d = 100.675;
		double e = 100.500;
		double f = 100.200;

		System.out.println(Math.rint(d));
		System.out.println(Math.rint(e)); 
		System.out.println(Math.rint(f)); 
	}
}

编译以上程序,输出结果为:

101.0
100.0
100.0

11、round() 方法

返回一个最接近的int、long型值

语法

该方法有以下几种语法格式:

long round(double d)

int round(float f)

参数

  • -- double 或 float 的原生数据类型

  • -- float 原生数据类型

返回值

返回一个最接近的int、long型值,方法会指定返回的数据类型。

实例

public class Test{
	public static void main(String args[]){
		double d = 100.675;
		double e = 100.500;
		float f = 100;
		float g = 90f;

		System.out.println(Math.round(d));
		System.out.println(Math.round(e)); 
		System.out.println(Math.round(f)); 
		System.out.println(Math.round(g)); 
	}
}

编译以上程序,输出结果为:

101
101
100
90

12、min() 方法

用于返回两个参数中的最小值。

语法

该方法有以下几种语法格式:

double min(double arg1, double arg2)
float min(float arg1, float arg2)
int min(int arg1, int arg2)
long min(long arg1, long arg2)

参数

该方法接受两个原生数据类型作为参数。

返回值

返回两个参数中的最小值。

 

 

13、max() 方法

用于返回两个参数中的最大值。

语法

该方法有以下几种语法格式:

double max(double arg1, double arg2)
float max(float arg1, float arg2)
int max(int arg1, int arg2)
long max(long arg1, long arg2)

参数

该方法接受两个原生数据类型作为参数。

返回值

返回两个参数中的最大值。


14、exp() 方法

用于返回自然数底数e的参数次方

语法

该方法有以下几种语法格式:

double exp(double d)

参数

  • d -- 任何原生数据类型。

返回值

返回自然数底数e的参数次方。

实例

public class Test{ 
	public static void main(String args[]){
		double x = 11.635;
		double y = 2.76;

		System.out.printf("e 的值为 %.4f%n", Math.E);
		System.out.printf("exp(%.3f) 为 %.3f%n", x, Math.exp(x));  
	}
}

编译以上程序,输出结果为:

e 的值为 2.7183
exp(11.635) 为 112983.831

15、log() 方法

用于返回参数的自然数底数的对数值。

语法

double log(double d)

参数

  • d -- 任何原生数据类型。

返回值

返回参数的自然数底数的对数值。

实例

public class Test{
	public static void main(String args[]){
		double x = 11.635;
		double y = 2.76;

		System.out.printf("e 的值为 %.4f%n", Math.E);
		System.out.printf("log(%.3f) 为 %.3f%n", x, Math.log(x));
	}
}

编译以上程序,输出结果为:

e 的值为 2.7183
log(11.635) 为 2.454

16、pow() 方法

用于返回第一个参数的第二个参数次方。

语法

double pow(double base, double exponent)

参数

  • base基数 -- 任何原生数据类型。

  • exponent指数 -- 任何原生数据类型。

返回值

返回第一个参数的第二个参数次方。

实例

public class Test{
	public static void main(String args[]){
		double x = 11.635;
		double y = 2.76;

		System.out.printf("e 的值为 %.4f%n", Math.E);
		System.out.printf("pow(%.3f, %.3f) 为 %.3f%n", x, y, Math.pow(x, y));
	}
}

编译以上程序,输出结果为:

e 的值为 2.7183
pow(11.635, 2.760) 为 874.008

25、random() 方法

用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。

语法

static double random()

参数

  • 这是一个默认方法,不接受任何参数。

返回值

该方法返回 double 值。

实例

public class Test{
	public static void main(String args[]){
		System.out.println( Math.random() );
		System.out.println( Math.random() );
	}
}

编译以上程序,输出结果为:

0.5444085967267008
0.7960235983184115

 

posted @ 2020-09-13 19:59  程序猿009  阅读(354)  评论(0编辑  收藏  举报