java.lang.System提供了标准输入、标准输出、错误输出流、快速复制数组、访问外部定义的属性和环境变量等方法
一、输入输出流
static PrintStream err
- 标准错误输出流,用于打印错误信息
- 打印的内容是红色字体
static InputStream in
- 标准输入流
- 应用场景:Scanner类获取键盘输入
static PrintStream out
- 标准输出流
- 打印内容到控制台
举例
System.err.println("错误输出流");
System.out.println("标准输出流");
Scanner input = new Scanner(System.in);
二、常用API
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- 将指定源数组从指定位置开始复制到目标数组的指定位置,长度为length
- 参数(按顺序)
- 源数组
- 源数组开始复制的下标
- 目标数组
- 目标数组开始粘贴的下标
- 复制的长度
- 复制的长度不能超过(源数组长度-起始索引),否则抛出下标越界异常
- 复制的长度不能超过(目标数组长度-起始索引),否则抛出下标越界异常
- 举例
int[] arrs1 = {1,2,3,4,5,6};
int[] arrs2 = {0,0,0,0,0,0,0,0,0,0,0};
//源数组从下标为2的位置开始复制,粘贴到目标数组下标为3的位置,复制4个元素
System.arraycopy(arrs1,2,arrs2,3,4);
System.out.println(Arrays.toString(arrs2)); //[0, 0, 0, 3, 4, 5, 6, 0, 0, 0, 0]
static long currentTimeMillis()
- 以毫秒为单位返回当前时间
- 从1970年1月1日早上8点整到现在的毫秒数
- 应用场景
- 可以用该方法记录两个时间点的毫秒数,差值为两个时间点之间总共耗费的时间
- 举例
long time = System.currentTimeMillis();
System.out.println(time);
static void exit (int status)
- 终止当前运行的java虚拟机
- status为0代表正常结束,非0代表异常结束
- 举例
System.exit(0);
static void gc()
- 运行JVM的垃圾收集器
- 调用gc方法表名java虚拟机花费了大量精力来回收未使用的对象,以使其当前占用的内存可用于快速重用。当控制从方法调用返回时,java虚拟机已尽最大努力从所有丢弃的对象中回收空间
- 呼叫System.gc()等同于呼叫Runtime.getRuntime.gec()