三、java.lang类Math
1.Math类的简单使用
方法 | 返回值 | 功能描述 |
---|---|---|
sin(double numvalue) | double | 计算角 numvalue 的正弦值 |
cos(double numvalue) | double | 计算角 numvalue 的余弦值 |
acos(double numvalue) | double | 计算 numvalue 的反余弦 |
asin(double numvalue) | double | 计算 numvalue 的反正弦 |
atan(double numvalue) | double | 计算 numvalue 的反正切 |
pow(double a, double b) | double | 计算 a 的 b 次方 |
sqrt(double numvalue) | double | 计算给定值的正平方根 |
abs(int numvalue) | int | 计算 int 类型值 numvalue 的绝对值,也接收 long、float 和 double 类型的参数 |
ceil(double numvalue) | double | 返回大于等于 numvalue 的最小整数值 |
floor(double numvalue) | double | 返回小于等于 numvalue 的最大整数值 |
max(int a, int b) | int | 返回 int 型 a 和 b 中的较大值,也接收 long、float 和 double 类型的参数 |
min(int a, int b) | int | 返回 a 和 b 中的较小值,也可接受 long、float 和 double 类型的参数 |
rint(double numvalue) | double | 返回最接近 numvalue 的整数值 |
round(T arg) | arg 为 double 时返回 long,为 float 时返回 int | 返回最接近 arg 的整数值 |
random() | double | 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0 |
简单的计算适用于游戏中飞行轨迹的计算中。
2.彩票生成器项目-利用随机数。
四、java.lang类 Class
Class类的实例表示正在运行的Java应用程序的类或接口。
在Java中,每个Class都有一个相应的Class对象,即每一个类,在编译时便会产生.class文件,为了生成这个对象,JVM调用“类加载器”完成,用于表示这个类的类型信息。
Class对象在需要时才被加载,而static初始化在类加载时进行。
获取Class实例有3种方法:
1.已经持有该类的对象,调用getClass()方法获取该对象的Class实例
类 Test
A a = new A();
System.out.println(a.getClass());
输出:class A
2.使用Class类的静态方法forName(String className),用类的名字获取一个Class实例。类没有加载就加载,加载时执行static语句,找不到就抛出异常,可以理解为手动加载类的一种方法。
3.类字面量的方法,XX(类名).class的方式来获取Class实例,在其编译时就受到检查,更加高效安全。对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。
注意:该方法不会自动初始化Class对象。而Class.forName()是加载参数指定的类并初始化。
故,“.class”使用类需要做的是:
1.加载,类加载器查找字节码(classpath)创建Class对象;
2.链接,为静态域分配存储空间;
3初始化,其被延迟到静态方法或非常数静态域首次引用时。
Class类没有共有的构造方法,它有JVM自动调用。
五、java.lang类 Object
Object 类是所有类的父类,所有对象(包括数组)都实现这个类的方法。所以,我们定义的类扩展自Object类,可调用和重写Object类里的所有方法。
方法 | 返回值 | 功能描述 |
---|---|---|
equals(Objectobj) | boolean | 将当前对象实例与给定的对象进行比较,检查它们是否相等 |
finalize() throws Throwable | void | 当垃圾回收器确定不存在对象的更多引用时,由对象的垃圾回收器调用此方法。通常被子类重写 |
getClass() | Class | 返回当前对象的 Class 对象 |
toString() | String | 返回此对象的字符串表示 |
wait() throws InterruptedException | void | 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,使当前线程进入等待状态 |