1、Math
- 是帮助我们用于进行数学计算的工具类
- 私有化构造方法,所有的方法都是静态的
方法名 | 说明 |
public static int abs(int a) | 获取参数绝对值 |
public static double ceil(int a) | 向上取整 |
public static double floor(int a) | 向下取整 |
public static int round(float a) | 四舍五入 |
public static int max(int a,int b) | 获取两个int值中的较大值 |
public static double pow(double a,doubleb) | 返回a的b次幂的值 |
public static double sqrt(int a) | 返回a的平方根 |
public static double cbrt(int a) | 返回a的立方根 |
public static double random() | 返回值为double的随机值, 范围[0.0,1.0) |
不常用
练习——两道算法水题
1、判断一个数是否为一个质数
2、自幂数,一个n位自然数等于自身各个数位上数字的n次幂之和
举例1:三位数 1^3+5^3+3^3=153
举例3:四位数 1^4+6^4+3^4+4^3=1634
如果自幂数是一位数,也叫做:独身数
三位自幂数:水仙花数 四位自幂数:四叶玫瑰数
五位自幂数:五角星数 六位自幂数:六合数
七位自幂数:北斗七星数 八位自幂数:八仙数
九位自幂数:九九重阳数 十位自幂数:十全十美数
要求1:统计一共有多少个水仙花数。
要求2:判断一下为什么没有两位数自幂数。
2、System
1、System也是一个工具类,提供了一些与系统相关的方法
2、时间原点:1970年1月1日0:0:,我国在东八区,有8小时时差。
1秒=1000毫秒
4、常见方法如下:
1、exit:停止虚拟机
2、currentTimeMillis:获取当前时间的毫秒值
3、arraycopy:拷贝数组
方法名 | 说明 |
public static void exit(int status) | 终止当前运行的Java虚拟机 |
public static long currentTimeMillis() | 返回当前系统的时间毫秒值形式 |
public static void arraycopy(数据源数组,起始索引, 目的地数组,起始索引,拷贝个数) | 数组拷贝 |
细节:
1、如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错
2、在拷贝的时候需要考虑数组的长度,如果超出范围也会报错
3、如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型
3、Runtime
Runtime表示当前虚拟机的运行环境
方法名 | 说明 |
public static Runtime getRuntime( ) | 当前系统的运行环境对象 |
public void exit(int status) | 停止虚拟机 |
public int availableProcessors( ) | 获得CPU的线程数 |
public long maxMemory( ) | JVM能从系统中获取总内存大小(单位byte) |
public long totalMemory( ) | JVM已经从系统中获取总内存大小(单位byte) |
public long freeMemory( ) | JVM剩余内存大小(单位byte) |
public Process exec(String command) | 运行cmd命令 |
练习——恶搞好基友
测试: