java.math.BigInteger(超大整数)
//BigInteger计算不用用符号,最大范围是不确定的,与虚拟机内存大小有关
BigInteger bi = new BigInteger("1000000000");
BigInteger bi = bigInteger1.add(bigInteger2);//加
BigInteger bi = bigInteger1.subtract(bigInteger2);//减
BigInteger bi = bigInteger1.multiply(bigInteger2);//乘
BigInteger bi = bigInteger1.divide(bigInteger2);//除(结果只保留整数部分)
BigInteger bi = bigInteger1.remainder(bigInteger2);//求模
BigInteger bi = bigInteger1.mod(bigInteger2);//求(非负)模(分母不能为负数,分子是负数,结果是余数和除数的和)
BigInteger[] bis = bigInteger1.divideAndRemainder(bigInteger2);//bigIntegers[0]商+bigIntegers[1]余数
java.math.BigDecimal(超大浮点数)
注意:如果用BigDecimal精确计算,就必须要BigDecimal的“字符串”构造方法。
//BigDecimal计算不用用符号
BigDecimal bd = new BigDecimal("3.1415926");
double d = bigDecimal.doubleValue();//转换为double类型
BigDecimal bd = bigDecimal1.divide(bigDecimal2);//除法,如果出现无限小数,会报异常
//除法,四舍五入保留2为小数
BigDecimal bd = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_UP);
//一个BigDecimal数字,四舍五入保留2为小数
BigDecimal bd = bigDecimal1.divide(new BigDecimal("1"), 2, BigDecimal.ROUND_HALF_UP);//方式一
BigDecimal bd = bigDecimal1.setScale(2, RoundingMode.HALF_UP);//方式二
System类
/**
* 数组复制
*
* src:源数组
* srcPos:从哪个位置开始复制
* dest:目标数组
* destPos:目标数组位置
* length;复制的长度
*/
int[] src = new int[]{1, 2, 3, 4, 5};
int[] dest = new int[5];
System.arraycopy(src, 0, dest, 0, src.length);
//1970 到 当前毫秒数
long l = System.currentTimeMillis();
//告诉gc回收垃圾,(对象没有引用时可能回收,也可能不回收,由系统决定)
System.gc();
//退出jvm(后面代码就不会执行了)
System.exit(0);
System.setProperty("key","value");//设置键值对
System.arraycopy(array1,0,array2,0,3);//原数组array1从0开始复制给目标数组array2,长度是3个
java.util.Locale(语言环境)
Locale l = new Locale("zh","CN");//大陆语言环境,结果:zh_CN
Locale l = Locale.getDefault();//当前系统设置的语言环境
Locale l = Locale.US;//美国语言环境,结果:en_US