2021年1月27~29日 Java API 中常用类学习
一、Date、SimpleDateFormat、Calendar
- 导入Date类时,要选择util包里的,不要选sql包里的

- Date类默认的toString方法中输出的CST指的是“中国标准时间”
- SimpleDateFormat中的字母规则除了常用的:y年 M月 d日 H小时 m分钟 s秒之外,查阅jdk发现其它能用上的:a:AM PM标记,E:星期几,S毫秒数,z时区
- Calendar属于抽象类,api中这种不能创建子类的抽象类一般都会提供getInstance方法,查阅源码发现该方法是以多态方式返回一个不同类型的子类日期对象
二、基本数据类型和包装类、字符串
本环节主要需要记忆它们之间的转换方法,特别是两个valueOf的区别

三、System类
- 静态方法System.currentTimeMillis()用于获取当前毫秒值,作用与new Date().getTime()一样
long start = System.currentTimeMillis(); for(int i=0;i<1000000000;i++) { int a = 1+1; } long end = System.currentTimeMillis(); System.out.println("程序运行了"+(end-start)+"毫秒");
- exit(0)用于终止程序,0代表正常,其他数字代表异常
- arraycopy复制数组功能图解

任何不合理的长度、位置参数都会引发异常
四、Math类
- 注意max和min这两个方法,他们只能传两个参数,实际意义更像 “Bigger”和“Smaller”。
- Math.pow(2,3)是求2的3次方,第二个参数如果是小数就是开方(高中数学)

- 注意负数在round和ceil和floor中的特性:

五、Arrays类
- Arrays类的静态toString方法可以将数组里每个元素按照默认格式打印出来

- Arrays.sort()方法内部使用的算法是快速排序算法:DualPivotQuicksort
六、BigInteger、BigDecimal类
0.2+0.1精度会丢失的原因:
计算机内部运算都是采用二进制补码运算,而这两个数转换成二进制后小数点后位数很多,甚至是无限循环,超出了double的表示范围

浙公网安备 33010602011771号