System类
System类的in,out,err分别代表标准输入,标准输出,错误输出。
Scanner:是一个基于正则表达式的文本扫描器,可以从文件,输入流,字符串接受数据。
//System.in 代表标准输入,是键盘输入
Scanner sc = new Scanner(System.in);
方法 hasNextXxx():是否还有下一个输入项; nextXxx():获取输入项。其中Xxx可以是int,long等基本数据类型。
//判断是否还有下一个输入项
while(sc.hasNext()){
System.out.println("键盘输入:"+sc.next());
}
hasNext() 判断是否包含下一个字符串。
useDelimiter();输入间隔符 列如(\n,等其他字符)。
//以逗号为分隔符
sc.useDelimiter(",");
String str =sc.next();
String strr =sc.next();
输入 Hello,World
Hello
World
close()方法,关闭Scanner,它同时会关闭其输入源(the source implements the Closeable interface)。
System.getProperties()可以确定当前的系统属性,返回值是一个Properties。
System.setProperties(Properties propes):将系统属性设置为Properties参数;
public class TestSystemproperty {
public static void main(String[] args){
System.out.println("Java运行时环境版本:"+System.getProperty("java.version"));
System.out.println("Java 运行时环境供应商:"+System.getProperty("java.vendor"));
System.out.println("Java 供应商的URL:"+System.getProperty("java.vendor.url"));
System.out.println("Java安装目录:"+System.getProperty("java.home"));
System.out.println("Java 虚拟机规范版本:"+System.getProperty("java.vm.specification.version"));
System.out.println("Java 类格式版本号:"+System.getProperty("java.class.version"));
System.out.println("Java类路径:"+System.getProperty("java.class.path"));
System.out.println("操作系统的名称:"+System.getProperty("os.name"));
System.out.println("操作系统的架构:"+System.getProperty("os.arch"));
System.out.println("操作系统的版本:"+System.getProperty("os.version"));
System.out.println("用户的主目录:"+System.getProperty("user.home"));
System.out.println("用户的当前工作目录:"+System.getProperty("user.dir"));
System.out.println("自定义变量getProperty CONF_LOCATION:"+System.getProperty("conf.location"));
System.out.println("自定义变量getenv CONF_LOCATION:"+System.getenv("conf.location"));}
gc()方法 垃圾回收 runFinalization()方法通知系统进行资源清理
currentTimeMillis()方法获取系统当前时间以毫秒单位;
nanoTime()方法获取系统当前时间以纳秒秒单位;
identityHashCode(Object o)方法返回指定对象的精确hashCode值.
finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法
exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;
arraycopy(Object src,int srcPos, Object dest,int destPos,int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。参数:src - 源数组。srcPos - 源数组中的起始位置。dest - 目标数组。destPos - 目标数据中的起始位置。length - 要复制的数组元素的数量。
Runtime类
getRuntime()返回与当前 Java 应用程序相关的运行时对象
Process
exec(String command)
在单独的进程中执行指定的字符串命令
long freeMemory()
返回 Java 虚拟机中的空闲内存量。
long maxMemory()
返回 Java 虚拟机试图使用的最大内存量。
long totalMemory()
返回 Java 虚拟机中的内存总量。
public class RuntimeTest {
public static void main(String[] args) throws IOException, InterruptedException{
Runtime runtime = Runtime.getRuntime(); //获取运行时对象
//在单独的进程中执行指定的字符串命令。
Process procee = runtime.exec("C:\\Windows\\notepad.exe");
Thread.sleep(3000);
procee.destroy();
//内存大小,以字节为单位
System.out.println(" Java虚拟机中的空闲内存量。"+runtime.freeMemory());
System.out.println("Java 虚拟机试图使用的最大内存量:"+ runtime.maxMemory());
System.out.println("返回 Java 虚拟机中的内存总量:"+ runtime.totalMemory());
}
}
Math类
【绝对值】Math.abs();//返回对应类型的绝对值
【最大值和最小值】Math.max(int a, int b) ,Math.min(int a,int b);(其他类型都可以)
【立方根】Math.cbrt(double a) ,返回double类型
【求幂】Math.pow(double a, double b) (参数1:底数,参数2:指数)
【正平方根】Math.sqrt(double a)
【随机数[0,1)】random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
【取整】ceil(double a) ,返回大于给定数的最小整数 floor(double a) ,返回小于给定数的最大整数
【四舍五入】 static int round(float a) static long round(double a)
max()方法返回最大值
System.out.println(Math.max(10.7, 10)); //10.7
min()方法返回最小值
System.out.println(Math.min(10.7, 10)); //10.0