UM2L18——常用类库

常用类库指什么

常用类库主要指Java中为了提升我们的开发效率
预先就已经写好的一些包,这些包中提供了很多常用类
目的是方便开发人员的使用,而无需再自己去实现

主要有以下内容:

  1. 变量类型的包装类 Integer​、Double​、Boolean​、Character
  2. 存储较大数据的 BigInteger​ 类和 BigDecimal​ 类
  3. 数学计算类 Math
  4. 随机数类 Random

等等

本节课主要指明方向,由于这些知识只是API的使用
所以对于这些类的常用方法只会提及,不会举例,了解他们提供的方法名,基本就知道如何使用了

Java中提供了很多现成的类和方法供我们使用,对他们产生印象,当自己开发时有类似需求时
直接使用他们,可以提升我们的开发效率,因为无需我们自己去实现对应逻辑,直接使用即可

变量的包装类

  1. Number

    它是 ByteIntegerShortLongFloatDouble​类的父类

    主要方法:

    1
    2
    3
    4
    5
    6
    byteValue()      以byte形式返回指定的数值
    intValue() 以int形式返回指定的数值
    floatValue() 以float形式返回指定的数值
    shortValue() 以short形式返回指定的数值
    longValue() 以long形式返回指定的数值
    doubleValue() 以double形式返回指定的数值

    所有继承Number​类的子类都具备以上方法

  2. Integer

    它和Byte​、Short​、Long​三个封装类方法基本相同,区别就是封装的是不同的数据类型

    主要方法:

    1
    2
    3
    4
    5
    6
    7
    parseInt(String str)                  将字符串转数值
    toString() 将数值转字符串
    toBinaryString(int i) 以二进制无符号整数形式返回一个整数参数的字符串表示形式
    toHexString(int i) 以十六进制无符号整数形式返回一个整数参数的字符串表示形式
    toOctalString(int i) 以八进制无符号整数形式返回一个整数参数的字符串表示形式
    equals(Object integerObj) 比较两个对象是否相等
    compareTo(Integer anotherInteger) 比较两个Integer对象,相等返回0;调用函数对象小于传入对象,返回负数;反之,返回正数
  3. Double

    它和Float​类的方法基本相同,区别就是封装的是不同的数据类型

    主要方法:

    1
    2
    3
    4
    5
    6
    parseDouble(String str)               将字符串转数值
    toString() 将数值转字符串
    isNaN() 如果该double值不是数字,返回true,否则返回false
    compareTo(Double d) 和Integer类中方法作用一致
    equals(Object doubleObj) 和Integer类中方法作用一致
    toHexString(double d) 返回double参数的十六进制字符串表示形式
  4. Boolean

    1
    2
    3
    4
    equals(Object obj)                    和Integer类中方法作用一致
    parseBoolean(String s) 将字符串转Boolean
    toString() 将数值转字符串
    valueOf(String s) 返回一个用指定的字符串表示的boolean
  5. Character

    1
    2
    3
    4
    5
    6
    7
    8
    9
    compareTo(Character anotherCharacter) 比较两个Character对象,若两个对象相等则返回0
    equals(Object obj) 和Integer类中方法作用一致
    toString() 转字符串
    toUpperCase(char ch) 将字符转大写
    toLowerCase(char ch) 将字符转小写
    isUpperCase(char ch) 判断字符是否是大写
    isLowerCase(char ch) 判断字符是否是小写
    isLetter(char ch) 判断字符是否是字母
    isDigit(char ch) 判断字符是否为数字

大数据类

  1. BigInteger

    该类主要用于存储任意大小的整数,也就是说它可以表示任何大小的整数值而不会丢失信息
    因为传统的整形类型都有最大最小区间,而该类没有,主要用于存储大数据

    主要方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    add(BigInteger val)               加法
    subtract(BigInteger val) 减法
    multiply(BigInteger val) 乘法
    divide(BigInteger val) 除法
    remainder(BigInteger val) 取余
    pow(int exponent) 计算exponent次方
    negate() 取反
    shiftLeft(int n) 左移n位
    shiftRight(int n) 右移n位
    and(BigInterger val) 位与
    or(BigInteger val) 位或
    compareTo(BigInteger val) 比较,类似Integer中
    equals(Object x) 判断数值是否相等
    min(BigInteger val) 取最小
    max(BigInteger val) 取最大、
  2. BigDecimal

    该类和BigInteger​用于表示大数据,但是它主要用于表示浮点数(有小数点的数值)
    它的主要方法和BigInteger​类似

数学计算类

Math​类,提供众多数学函数方法,方便我们进行数学计算
主要包含三角函数、指数函数、取整函数、最大值、最小值、平均值等等
这些方法都是静态方法,都通过Math.​出使用

主要方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//三角函数
sin(double a) 正弦
cos(double a) 余弦
tan(double a) 正切
asin(double a) 反正弦
acos(double a) 反余弦
atan(double a) 反正切
toRadians(double angdeg) 角度转弧度
toDegrees(double angrad) 弧度转角度
//指数
exp(double a) 获取e的a次方
log(double a) 取自然对数
log10(double a) 取底数为10的a的对数
sqrt(double a) 取a的平方根
cbrt(double a) 取a的立方根
pow(double a, double b) 取a的b次方
//取整
ceil(double a) 向上取整
floor(double a) 向下取整
rint(double a) 返回与a最接近的整数,如果有两个,取偶数
round(float a) 将参数a加上0.5后返回与其最近的整数
rount(double a) 将参数a加上0.5后返回与其最近的整数,然后强转为Long
//其他
max(参数1,参数2) 最大值
min(参数1,参数2) 最小值
abs(参数) 绝对值

随机数类

Random​,用于生成随机数的类

主要方法:

1
2
3
4
5
6
7
8
9
Random r = new Random();              以当前系统时间作为随机数生成器种子
Random r = new Random(seedValue); 自己设置随机数种子
nextInt() 返回一个随机整数
nextInt(int n) 返回大于等于0且小于n的随机整数
nextLong() 返回一个随机长整型
nextBoolean() 返回一个随机布尔值
nextFloat() 返回一个随机单精度浮点
nextDouble() 返回一个随机双精度浮点
nextGaussian() 返回一个概率密度为高斯分步的双精度浮点

其他类

  • Date​:日期类 获取日期时间相关方法
  • Calendar​:日历类 比起Date​更加国际化
  • System​:系统类 有获取当前时间的方法

等等