Number & Math 类
Number
- 存在包:java.lang
public abstract class Number implements java.io.Serializable
//Number类是java.lang包下的一个抽象类
- 主要方法:
方法: | 功能: |
---|---|
abstract int intValue() | 以 int 形式返回指定的数值 |
abstract long longValue() | 以 long 形式返回指定的数值 |
abstract float floatValue() | 以 float 形式返回指定的数值 |
byte byteValue() | 以 byte 形式返回指定的数值 |
short shortValue() | 以 short 形式返回指定的数值 |
abstract double doubleValue() | 以 double 形式返回指定的数值 |
Number类常用到的方法:
compareTo(): 将number对象与参数比较
equals() : 判断number对象是否与参数相等
toString():以字符串形式返回
parseInt():将字符串解析为int类型
- 特点:
(1)提供了将包装类型拆箱成基本类型的方法
(2)不能实例化对象,可以被普通类继承但要重写父类的抽象方法,抽象类继承不用实现抽象方法;
一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。
int a = 5000; float b = 13.65f; byte c = 0x4a;
- Java 语言为每一个内置数据类型提供了对应的包装类。
所有的包装类 (Integer、Long、Byte、Double、Float、Short) 都是抽象类 Number 的子类。
-
装箱拆箱:
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。
public class Test{
public static void main(String args[]){
Integer x = 5;
x = x + 15;
System.out.println(x);
}
}//20
当 x 被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。
Math
- 存在包:java.lang
public final class Math
//final修饰:
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
- 主要方法:
方法: | 功能: |
---|---|
static double sqrt(double a) | 求参数的算术平方根 |
static double random() | 返回一个随机数 |
static int abs(int a) | 返回参数的绝对值 |
static int max(int a, int b) | 返回两个参数中的最大值 |
static float min(float a, float b) | 返回两个参数中的最小值 |
static double sin(double a) | |
static double cos(double a) | |
static double tan(double a) | |
- Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
eg:
public class Test {
public static void main(String[] args) {
int a = -12;
int a1 = Math.abs(a);
double a2 = Math.sqrt(a1);
double a3 = Math.random()* 10 + 10;//[10,20)
double a4 = Math.random()* 100 + 1;//[1,100)
int max = (int)Math.max(a3,a4);
System.out.println("絕對值為 :" + a1);
System.out.println("算術平方根為 :" + a2);
System.out.println("隨機數為 :" + a3);
System.out.println("隨機數為 :" + a4);
System.out.println("兩參數中的較大值為 :" + max);
}
}
//output:
絕對值為 :12
算術平方根為 :3.4641016151377544
隨機數為 :17.324552741696962
隨機數為 :99.674989660543
兩參數中的較大值為 :99
Character
- 操作单个字符
java.lang
主要方法:
boolean isLetter() | 是否是一个字母 |
---|---|
boolean isDigit() | 是否是一个数字字符 |
boolean isWhitespace() | 是否是一个空白字符 |
isUpperCase() | 是否是大写字母 |
isLowerCase() | 是否是小写字母 |
toUpperCase() | 指定字母的大写形式 |
toLowerCase() | 指定字母的小写形式 |
toString() | 返回字符的字符串形式,字符串的长度仅为1 |
boolean equals(Object obj) | 与传入的对象是否相等 |