常用类"二"(Math,Random,System)

来源:互联网 发布:win7网络共享无法访问 编辑:程序博客网 时间:2024/04/30 15:40

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程序运行争抢资源,只有在执行大量的对象的释放,才调用垃圾回收最好.

0 0
原创粉丝点击