java 关于 System、Random 的使用

记录java的System、Random 类的使用

System

System 类提供一下的功能:

  • 标准输入,标准输出和错误输出流
  • 访问外部定义的属性和环境变量
  • 加载文件和库的方法
  • 以及用于快速复制数组的实用方法。

System 不可以被实例化,只能使用其静态方法

1
2
3
4
5
6
7
8
9
10
11
12
//从指定的源数组中复制一个数组,从源数组指定的位置开始,到目标数组指定的位置
public static void arraycopy(Object src,int srcPos, Object dest,int desPos,int length)
//返回以毫秒为单位的当前时间(从1970年到现在的毫秒数)
public static long currentTimeMillis()
//终止当前正在运行的Java虚拟机,status为 0时退出
public static void exit(int status)
// 运行垃圾收集器
public static void gc()
// 取得当前系统的全部属性
public static Properties getProperties()
//获取指定键的系统属性
public static String getProperty(String key)

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.Arrays;

public class SystemDemo {
public static void main(String[] args) {
int[] a = {7, 8, 9, 10, 11};
int[] b = {1, 2, 3, 4, 5, 6};
//从数组a的第二个元素开始,复制到b数组的第三个位置 复制的元素长度为3
System.arraycopy(a, 1, b, 2, 3);
//输出结果
System.out.println(Arrays.toString(b));
System.out.println("当前时间:" + System.currentTimeMillis());
System.out.println("java版本信息:" + System.getProperty("java.version"));
//运行垃圾收集器
System.gc();
//退出
System.exit(0);
}
}

输出结果

1
2
3
[1, 2, 8, 9, 10, 6]
当前时间:1576139050573
java版本信息:1.8.0_131

Random

Random 类用于生产伪随机数流,在java.util包下。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Random;

public class RandomDemo {
public static void main(String[] args) {
Random random = new Random();
//随机生成一个整数 int范围
System.out.println(random.nextInt());
//生成 [0,n] 范围的整数 设n=100
System.out.println(random.nextInt(100 + 1));
//生成 [0,n) 范围的整数 设n=100
System.out.println(random.nextInt(100));
//生成 [m,n] 范围的整数 设n=100 m=40
System.out.println((random.nextInt(100 - 40 + 1) + 40));
//随机生成一个整数 long范围
System.out.print(random.nextLong());
//生成[0,1.0)范围的float型小数
System.out.println(random.nextFloat());
//生成[0,1.0)范围的double型小数
System.out.println(random.nextDouble());
}
}

运行结果:

1
2
3
4
5
6
7
8
$ javac RandomDemo.java
$ java RandomDemo
272128541
67
93
66
-23177167376469717070.93104035
0.20044632645967309

ps 多关注 (new Random).nextInt() 这个生产随机数的 规则 [m,n] 例如 m=x n>m :x可以是任何数