System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部,位于java.lang 包。
该类的构造器是private的,所以无法创建该类的对象,即无法实例化该类,其内部成员变量和成员方法都是static的,可以方便的调用。
成员变量:
包含in,out和err。
成员方法:
native long currentTimeMillis():当前时间和GMT时间1970年1月1日0时0分0秒相差的毫秒数
void exit(int status):status=0代表正常退出,非0代表异常退出。可用于在图形界面编程中实现程序的退出功能。
String getProperty(String key)
代码示例:
@Test
public void testSystem(){
String javaVersion = System.getProperty("java.version");
System.out.println("java version: " + javaVersion);
String javaHome = System.getProperty("java.home");
System.out.println("java home: " + javaHome);
String osName = System.getProperty("os.name");
System.out.println("os name: " + osName);
String osVersion = System.getProperty("os.version");
System.out.println("os version: " + osVersion);
String userName = System.getProperty("user.name");
System.out.println("user name: " + userName);
String userHome = System.getProperty("user.home");
System.out.println("user home: " + userHome);
String userDir = System.getProperty("user.dir");
System.out.println("user dir: " + userDir);
}
Math类
用于做科学计算,都是静态方法,也不需要实例化,直接带参数用就行
BigInteger类
表示不可变的任意精读的整数
BigDecimal类
适用于对精读比较高的场景,支持不可变的,任意精读的有符号的十进制定点数
@Test
public void testBig(){
BigInteger bi =new BigInteger("12333333333333333333333333333333333334");
BigDecimal bd =new BigDecimal("1222.1222");
BigDecimal bd2 =new BigDecimal("12");
System.out.println(bi);//12333333333333333333333333333333333334
System.out.println(bd.divide(bd2, BigDecimal.ROUND_HALF_UP));//101.8435
System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_HALF_UP));//101.843516666666667
}