大数据预科班12
复习
包装类
int 0;//i 没有对应的方法来调用
***有将String转化为Character
***有将String转化为Character
1. 构造方法
new Integer(int i);//基本类型转化为对应的引用类型的对象--封箱/装箱
new Integer(String s);//String转化为字符串数组,
首先获取第一位判断正负,然后依次判断每位是否为数字;
2. toString()重写过 ,不是输出地址,而是基本类型
***有将String转化为Character
***有将String转化为Character
***有将String转化为Character
***没有将String转化为Character
***有将String转化为Character
***字符串只要不是true,就是false
底层:
- 自动封箱(jdk1.5特性之一):Integer in=1;
将一个基本数据类型直接复制给引用数据类型
底层:调用了valueOf方法
- 封箱(jdk1.0)new Integer(1);
- 自动拆箱(jdk特性1.5特性之一)int i=new Integer("1");
将一个引用数据类型直接复制给基本数据类型数据
底层:调用了intValue()方法
1. 整数的哈希码是本身
2. 小数的哈希码(右移32再^)
- 问题:在Integer中,valueOf方法在范围内返回数值,不在范围内返回new对象【范围:-128~127对象直接常量池,超出范围new创建】
- 问题:当基本类型和引用类型直接运算时。引用数据类型会自动拆箱,比较的是实际值
数学类
1. 最终类,并且构造函数私有化,提供一一系列静态方法,--作为工具类使用。
2. 初等数学的方法
3. ceil向上取整,floor向下取整,返回小数;注意负数
4. round四舍五入,返回值为long
5. pow(a,b)求a的b次方
6. random返回随机数[0,1)
精确计算
- 小数在计算机中存储时本身就不精确,计算就更不精确了
- strictfp:double运算64位二进制来算,strictfp要求小数以80位二进制来计算,最后结果依然是64位
- 绝大多数十进制转为二进制是无限的
- 引入(BigDecimal):精确计算--用于计算小数的类,参数以字符串以字符串形式传入
注意:以字符串形式传入数据
减subtract
取余remainder
其他。。。
日期类
1. 表示特定的瞬间,精确到毫秒
2. 1900-1月叠加Date d=new Date(2000,2,1);
3. 过时方法【@SuppressWarnings("deprecation")】Date d=new Date(2000,2,1);
4. SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).parse("2000-01-01 12:12:12");//字符串转日期
5. 日期转字符串new SimpleDateFormate("yyyy年MM月dd日").format(date);
详细但不常用
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。
与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化: Calendar rightNow = Calendar.getInstance();