Java Number类中的方法
1.xxxValue()包装类----->原始数据类型
2.compareTo(参数)相同数据类型的比较
3.equals(Object o)包装类之间的比较
4.valueOf()方法原始数据类型/String----->包装类
5.toString()方法原始数据类型/包装类---->String
6.parseInt()通过number类的parsexxx()方法使String-->原始数据类型
Java Math类中的方法
1.abs()绝对值
2.ceil()向上取整
3.floor()向下取整
4.round()四舍五入
5.rint()返回最接近参数的整数值
6.min()两个参数的最小值
7.max()两个参数的最大值
8.exp()e的参数次方
9.log() 参数的log值
10.pow()第一个参数的第二个参数的次方
11.sqrt()参数的算术平方根
14.atan2()y/x的反正切值
15.toDegrees()参数->角度
16.toRadians()角度->弧度
17.random()随机数
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。
相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。
public void test(){
Integer a = 10;//此时a是一个对象,要进行赋值,必须进行装箱
a = a +10;//此时a要进行运算,需要拆箱,这时a是一个int型变量
}
public void test(){
1.xxxValue()
包装类----->原始数据类型
将number对象转换为xxx数据类型的值并返回
Integer A = 10;
Byte B = 1;
int a = A.intValue();
int b = B.byteValue();
//byteValue();doubleValue();floatValue();
//longValue();shortValue(); intValue()
2.compareTo(参数)
相同数据类型的比较
该方法用于Number对象与方法的参数进行比较。
该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。
返回值:
如果指定的数与参数相等返回0.
如果指定的数小与参数返回-1.
如果指定的数大于参数返回1.
Integer C = 10;
sysout(C.compareTo(10));//0
sysout(C.compareTo(5));//-1
sysout(C.compareTo(15));//1
3.equals(Object o)方法
包装类之间的比较
o - 任何对象
当Number对象不为Null,且与方法的参数类型与数值都相等返回True,否则返回false
Double和Float对象还有一些额外的条件
Integer A = 10;
Integer B = 5;
Integer C = 10;
Short D = 10;
sysout(A.equals(B));//false
sysout(A.equals(C));//true
sysout(A.equals(D));//false
4.valueOf()方法
原始数据类型/String----->包装类
用于返回给定参数的原生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 中提取的值。
例子:
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); //9
System.out.println(c);//5.0
System.out.println(a);//80.0
System.out.println(b);//1092
5.toString()方法
原始数据类型/包装类---->String
用于返回一个字符串表示的Number对象值。
如果方法使用了原始的数据类型作为参数,返回原始数据类型的String对象值。
如果方法有两个参数,返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
语法:
String toString()
static String toString(int i)
参数:
i - 要转换的整数
返回值
toString():返回表示Integer值的String对象。
toString(int i):返回表示指定int的String对象。
实例
Integer x = 5;
System.out.println(x.toString());//5
System.out.println(Integer.toString(12));//12
6.parseInt()方法
通过number类的parsexxx()方法使String-->原始数据类型
用于将字符串参数作为有符号的十进制整数进行解析
语法:
static int parseInt(String s)
static int parseInt(String s,int radix)
参数:
s--十进制表示的字符串
radix--指定的基数
返回值
parseInt(String s):返回用十进制参数表示的整数值
parseInt(int i):使用指定基数的字符串参数表示的整数(基数是进制)
实例
int x =Integer.parseInt("9");
double c = Double.parseDouble("5");
int b = Integer.parseInt("444",16);
System.out.println(x); //9
System.out.println(c); //5.0
System.out.println(b);//1092
}
Math的方法都被定义static形式,通过Math类可以在主函数中直接调用。
1.abs()方法
返回参数的绝对值,参数是原始数据类型
Math.abd(a);//a的绝对值
2.ceil()方法
向上取整
对一个数进行上舍入,返回值大于或等于给定的参数
参数为float/double双精度浮点型
Math.ceil(100.2341);//101.0
3.floor()方法
向下取整
对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等于给定的参数
参数为float/double双精度浮点型
Math.floor(100.2341);//100
4.round()方法
四舍五入,返回最接近的int、long型值。
参数为float/double双精度浮点型
Math.round(100.2314);//100
5.rint()方法
返回最接近参数的整数值,若100.500,则100.0,返回类型为double。
参数double原始数据类型
Math.rint(100.675);//100.0
6.min()方法
返回两个参数的最小值
参数:
该方法接收两个原生数据类型作为参数
返回值:
返回两个参数的最小值
Math.min(float a1,float a2);
7.max()方法
返回两个参数的最大值
参数:
该方法接收两个原生数据类型作为参数
返回值:
返回两个参数的最大值
Math.max(double a1,double a2);
8.exp()方法 Math.E//e的值
返回自然数底数e的参数次方
参数:
原生数据类型
返回值:
返回自然数底数e的参数次方
Math.exp(x);//e^x;
9.log()方法
返回参数的自然数底数的对数值
参数:
原生数据类型
返回值:
返回参数的自然数底数的对数值
Math.log(x);//log(x)=?
10.pow()方法
返回第一个参数的第二个参数次方
参数:
两个参数都可是任何原生数据类型
返回值:
返回第一个参数的第二个参数次方
Math.pow(int i1,int i2); i1的i2次方
11.sqrt()方法
返回参数的算术平方根
参数:
任何原生数据类型
返回值:
返回参数的算术平方根
Math.sqrt(x);//x的算术平方根
12.sin() cos() tan()
sin()参数的正弦值
cos()参数的余弦值
tan()参数的正切值
参数:
任何原生数据类型
double degrees = 45.0;
double radians = Math.toRadians(degrees);//将度数转成弧度
System.out.format("%.1f 度的正弦值为 %.4f%n", degrees, Math.sin(radians));
//45.0度的正弦值是0.7071
System.out.format("%.1f 度的余弦值为 %.4f%n", degrees, Math.cos(radians));
//45.0度的余弦值是0.7071
System.out.format("%.1f 度的正切值是 %.4f%n", degrees, Math.tan(radians));
//45.0度的正切值是1.0000
13.asin() acos() atan()
asin()返回参数的反正弦值
acos()返回参数的反余弦值
atan()返回参数的反正切值
参数:
任何原生数据类型
返回值:
返回指定double类型参数的反正弦值
double degrees = 45.0;
double radians = Math.toRadians(degrees);//将度数转成弧度
System.out.format("%.4f 的反正弦值为 %.4f 度 %n", Math.sin(radians), Math.toDegrees(Math.asin(Math.sin(radians))));
// 0.7071 的反正弦值为 45.0000 度
System.out.format("%.4f 的反余弦值为 %.4f 度 %n", Math.cos(radians), Math.toDegrees(Math.acos(Math.sin(radians))));
// 0.7071 的反余弦值为 45.0000 度
System.out.format("%.4f 的反正切值 %.4f 度 %n", Math.cos(radians), Math.toDegrees(Math.atan(Math.sin(radians))));
// 0.7071 的反正切值 35.2644 度
14.atan2()
atan2()用于将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。该方法通过计算 y/x 的反正切值来计算相角 theta,范围为从 -pi 到 pi。
double atan2(double x,double y);
参数:
Y-纵坐标
X-横坐标
返回值:
与笛卡儿坐标中点(x,y)对应的极坐标中点(r,theta)的theta组件
double x = 45.0;
double y = 30.0;
System.out.println( Math.atan2(x, y) );
15.toDegrees()方法
toDegrees()方法用于将参数转换为角度
double toDegrees(double d)
参数:
任何原生数据类型
返回值:
double值
double x = 45.0; double y = 30.0; System.out.println( Math.toDegrees(x) );//2578.310078887044 System.out.println( Math.toDegrees(y) );//1718.8733853924698
16.toRadians()方法
用于将角度转换为弧度
参数:
任何原生数据类型
返回值:
double值
double x = 45.0; double y = 30.0; System.out.println( Math.toRadians(x) );0.7853981633974483
System.out.println( Math.toRadians(y) );0.5235987755982988
16.random()方法
random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。
没有参数。
返回值:
返回一个double值
System.out.println( Math.random() );