一、大数值运算
整数大数值运算类 BigInteger
add、subtract、multiply、divide
public static void main(String[] args) {
BigInteger big1 = new BigInteger("12000000000");
BigInteger big2 = new BigInteger("12000000000");
BigInteger add = big1.add(big2);
System.out.println("加法:"+add);
BigInteger subtract = big1.subtract(big2);
System.out.println("减法:" + subtract);
BigInteger multiply = big1.multiply(big2);
System.out.println("乘法:"+multiply);
BigInteger divide = big1.divide(big2);
System.out.println("除法:"+divide);
}
小数大数值运算类 BigDecimal
add、subtract、multiply、divide
public static void main(String[] args) {
BigDecimal big1 = new BigDecimal("0.5");
BigDecimal big2 = new BigDecimal("0.4");
BigDecimal add = big1.add(big2);
System.out.println("加法:"+add);
BigDecimal subtract = big1.subtract(big2);
System.out.println("减法:"+subtract);
BigDecimal multiply = big1.multiply(big2);
System.out.println("乘法:"+multiply);
BigDecimal divide = big1.divide(big2);
System.out.println("除法:"+divide);
///
BigDecimal big3 = new BigDecimal("10");
BigDecimal big4 = new BigDecimal("3");
BigDecimal divide = big3.divide(big4,3,BigDecimal.ROUND_HALF_UP);//(除数,保留几位小数,进制模式-四舍五入)
System.out.println("四舍五入保留三位小数除法:"+divide);
}
二、伪随机类
理解:所有的随机数都是通过算法算出来的,通过算法算出来的数据就不是真随机
public static void main(String[] args) {
//创建Random类的对象
Random random = new Random();
int num1 = random.nextInt();
System.out.println("随机出int类型取值范围内的数字:"+num1);
int num2 = random.nextInt(10);
System.out.println("随机出0(包含)~10(不包含)的int数字:"+num2);
boolean bool = random.nextBoolean();
System.out.println("随机出boolean类型的值:"+bool);
}
种子数的理解:该数是随机数字的根本,该数固定,随机出的数字就固定了
Random ran = new Random(1000);
在此处设种子数为1000,则得到固定数-1244746321
三、 运行时类
含义:表示运行时环境 – JRE
public static void main(String[] args) {
//获取运行时环境类的对象
Runtime run = Runtime.getRuntime();
System.out.println("获取处理数:"+run.availableProcessors());
System.out.println("获取最大内存数(字节)"+run.maxMemory());
System.out.println("获取闲置内存数(字节)"+run.freeMemory());
}
四、系统类System
System类的属性
public static void main(String[] args) {
//系统标准的输入流
//系统标准的输入流(方向:控制台 -> 程序)
InputStream in = System.in;
Scanner scan = new Scanner(in);
int num = scan.nextInt();
//系统标准的输出流
// PrintStream out = System.out;
// out.println(num);
//系统标准错误的输出流
PrintStream err = System.err;
err.print(num);
注意:out和err是两个线程中的代码,重复运行,体验多线程争抢CPU资源的场景
public static void main(String[] args) {
System.out.println("小明");
System.err.println("小红");
System.out.println("小强");
}
System类的方法
public static void main(String[] args) {
//获取系统参数
Properties properties = System.getProperties();
System.out.println(properties);
//通过键(key)获取到对应的值
String value = System.getProperty("os.name");
System.out.println(value);
//关闭虚拟机(0-表示正常关闭)
//System.exit(0);
//数组的删除
String[] names = {"张三","李四","王五","赵六","铁柱","铁蛋","大虎"};//(目标数组,开始下标,原数组,开始下标,移动数据的次数)
System.arraycopy(names, 3, names, 2, 4);
names[names.length-1]=null;
for(String str : names){
System.out.println(str);
}
}