Math类,用于数学运算的类,包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数。
成员常量:
public static final double E;//自然对数的底数
public static final double PI;//圆周率
成员方法:
public static int abs(int a);//绝对值
public static double ceil(double a);//向上取整
public static double floor(double a);//向下取整
public static int max(int a,int b);//取最大值
public static int min(int a,int b);//取最小值
public static double pow(double a,double b);//a的b次幂
public static double random();//随机数[0.0,1.0)
public static int round(float a);//四舍五入
public static double sqrt(double a);//正平方根
Random类,此类使用种子产生随机数,可以只用默认种子还可以指定种子;
成员方法:
//没有参数的构造方法,默认使用的是当前系统的毫秒值作为种子
public Random();
//使用指定的long类型种子
public Random(long seed);//如果使用指定种子,那么每次得到的随机数相同
常用成员方法:
public int nextInt();//返回的是int范围内的随机数
public int nextInt(int n);//返回的是[0,n)范围内的随机数
代码演示
System类提供的有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。但是System类不能被实例化。
System的常用功能:
public static void gc();//运行垃圾回收器
public static void exit(int status)//status为0时,表示程序正常结束
public static long currentTimeMillis()//获取当前时间的毫秒值
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)//从指定源数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束
关于gc()方法:当使用System.gc()回收某个对象所占用的内存之前,通过要求程序调用适当的方法来清理资源。在没有明确指定资源清理的情况下,Java提高了默认机制来清理该对象的资源,就是调用Object类的finalize()方法。finalize()方法的作用是释放一个对象占用的内存空间时,会被JVM调用。而子类重写该方法,就可以清理对象占用的资源,该方法有没有链式调用,所以必须手动实现。
从程序的运行结果可以发现,执行System.gc()前,系统会自动调用finalize()方法清除对象占有的资源,通过super.finalize()方式可以实现从下到上的finalize()方法的调用,即先释放自己的资源,再去释放父类的资源。
但是,不要在程序中频繁的调用垃圾回收,因为每一次执行垃圾回收,jvm都会强制启动垃圾回收器运行,这会耗费更多的系统资源,会与正常的Java程序运行争抢资源,只有在执行大量的对象的释放,才调用垃圾回收最好.