一、Math
1. Math类提供的常见方法

工具类特性:Math是代表数学的工具类,构造器私有化,所有方法都是静态方法
绝对值方法:
public static int abs(int a),返回参数绝对值,结果必为正数向上取整:
public static double ceil(double a),如4.0001取整为5.0向下取整:
public static double floor(double a),如4.999取整为4.0四舍五入:
public static int round(float a),3.4999得3,3.5得4最值方法:
max(int a,int b)取较大值,min(int a,int b)取较小值幂运算:
pow(double a, double b)计算aba^bab,如2^3=8,3^2=9
随机数:
random()返回[0.0,1.0)范围的double值,不包含1.0
1)例题:取绝对值

代码演示:
Math.abs(-12) → 12Math.abs(-3.14) → 3.14
注意点:整数和浮点数都有对应的重载方法
2)例题:随机数
范围特性:随机数范围左闭右开,包含0.0但不包含1.0
应用场景:常用于生成指定范围的随机数,需配合乘法运算使用
二、Runtime
1. Runtime类提供的常见方法

运行时环境:代表程序所在的JVM运行环境,是单例类(一个JVM对应一个Runtime实例)
获取实例:通过
getRuntime()静态方法获取当前运行时对象虚拟机控制:
exit(int status)可终止JVM,非零状态码表示异常终止(慎用)硬件信息:
availableProcessors()获取处理器核心数(如20线程CPU返回20)totalMemory()返回JVM内存总量(字节单位,需转换为MB)freeMemory()返回JVM可用内存量
1)例题:获取处理器数
典型输出:如"处理器数量:20"对应20线程CPU
单位换算:1MB=1024KB=1024×1024B
2)例题:获取内存总量
输出示例:"Java虚拟机中的内存总量:508.0MB"
计算过程:原始字节值除以1024^2得到MB单位
3)例题:获取内存的可用量
输出示例:"Java虚拟机中的可用内存量:502.55MB"
内存使用:总内存508MB - 可用502MB ≈ 已使用6MB
4)例题:QQ环境配置
程序启动:
exec(String command)可启动外部程序(需配置环境变量)执行示例:
jre.exec("calc")启动计算器,jre.exec("QQ")启动QQ
5)例题:QQ进程对象
进程控制:
exec()返回Process对象,代表被启动的程序实例对象应用:可通过该对象控制程序生命周期(如关闭)
6)例题:QQ软件关闭
关闭方法:
process.destroy()可终止已启动的程序交互控制:可结合Scanner实现用户控制关闭
Scanner sc = new Scanner(System.in);
String command = sc.next();
if("y".equalsIgnoreCase(command)){
process.destroy();
}
三、System

类性质: System代表程序所在的系统,是一个工具类
方法特点: 提供的方法都是静态方法,与系统操作相关
1. System类提供的常见方法
1)exit方法

功能: 终止当前运行的Java虚拟机
参数含义:
0表示正常终止
非零状态代码表示异常终止
注意事项: 实际开发中禁止使用该方法终止JVM
2)currentTimeMillis方法
返回值: long类型的时间毫秒值
时间起点: 从1970年1月1日00:00:00开始计算
单位换算: 1秒=1000毫秒
应用场景: 常用于性能统计和时间计算
2. 例题:性能统计
实现步骤:
在代码执行前获取开始时间
执行待测代码(如循环100万次)
获取结束时间
计算时间差并转换为秒
计算公式: (结束时间-开始时间)/1000.0
示例结果: 循环100万次耗时1.025秒
四、时间毫秒值

起源背景:
1970年1月1日被选为时间起点
为纪念C语言的诞生(1970年1月1日)
由Unix系统开发者肯·汤普逊确立
技术意义:
计算机系统时间的标准表示方式
便于跨平台时间计算和比较
默认评论
Halo系统提供的评论