一、包装类:
1.概念:java语言是面向对象的语言,而八大基本数据类型的值不是对象
当我们想把这些值当成对象时,就需要使用包装类,
2.功能:把基本数据类型的数值转换成对象。
3. 意义:把基本数据类型转换成引用数据类型操作。
byte---java.lang.Byte
short---java.lang.Short
int---java.lang.Integer
long---java.lang.Long
float--java.lang.Float
double---java.lang.Double
char---java.lang.Character
boolean---java.lang.Boolean
4. 在做运算时,包装类的对象都会转换成相应的 基本数据类型再计算(自动拆箱)
Integer num = 5;--->Integer num = Integer.valueOf(5)
装箱操作
int a = new Integer("5");---->int a = new Integer(5).intValue();
拆箱操作
二、包装类--续
jdk5.0以后支持自动拆装箱操作。
1. 拆箱:引用数据类型转换成基本数据类型
int a = new Integer("4");//自动拆箱
2. 装箱: 把基本数据类型转换成引用数据类型
Double a = 3.14F;//编译错误
Float b = 3.14F;//编译正确
3:编译器在检查基本数据类型变量的方法时,
先检查是否有本身或者是自动转换的基本数据类型的方法
如果有,就调用。
如果没有,检查本身包装类的方法。
有,就调用,没有就编译错误。
4.包装类提供将字符串转换成相应的基本数据类型
1. parseXXX(String str);
XXX:对应的是基本数据类型名
reg:
int num = Integer.parseInt("123");
//结果为int类型的123
double d = Double.parseDouble("3.14a");
//上述代码会报异常
NumberFormatException,数字格式异常。---程序运行时发生
5.提供了其他方法
①将基本数据类型转成二进制,以字符串的形式。
int num = 5;
String str = Integer.toBinaryString(num);
②提供将基本数据类型转成16进制以字符串的形式。
int num = 5;
String str = Integer.toHexString(num);
6 常用方法:将字符串转换成包装类型
Integer.parseInt(String str)
Double.parseDouble(String str)
作用:将字符串转换成包装类型
三、日期类型
1:日期类型--java.util.Date:
java语言中支持的日期操作,Date,用来计算时间的分量。
但是Date类中的方法大多数已经过时,被Calendar类型取代。
2:Date的使用
(1):Date now = new Date();
//获取的是日期格式的当前系统时间
(2): 方法
getTime():获取毫秒数--long类型
setTime(long time):
System.currentTimeMills();--long //获取的是距1970年1月1日时间点的毫秒数
3: java.text.SimpleDateFormat:
①作用:通常都是用来对日期格式化,或者将字符串转换成日期类型
②构造器:
SimpleDateFormat(String pattern):
pattern:用来定义日期格式.--"yyyy-MM-dd"
③常用的格式字符:
y:年
M:月
d:日
H:24小时制的时
h:12小时制的时
m:分
s:秒
E:表示星期
a:表示上下午(am|pm)
④常用方法:
String d= sdf.format(Date date): 将日期转换成字符串
Date d2= adf.parse(String str): 将字符串转换日期类型
⑤有可能会出现ParseException:转换异常----编译期间检查的
四、日历类型:
Calendar,是一个接口,不能实例化。有很多子类型
最常用的是格力高里历法(大多数国家通用的历法,即我们说的阳历)
1:作用是更方便的计算日期分量。
2:获取子类型的方法
getInstance():获取子类型,会自动划分时区, 静态方法
(1): 多态的方法:
Calendar cal = Calendar.getInstance();
3.常用方法:
①getTime():转换成Date类型的数据;
②cal.add(Calendar.DATE, 22):给日历加上时间量;
③ cal.set(Calendar.YEAR, 2012);将给定的日历字段设置为给定值;
④int num = cal.get(Calendar.DAY_OF_MONTH);返回给定日历字段的值,即月的第几天;
⑤setTime(Date date):使用给定的 Date
设置此 Calendar 的时间。