一、包装类

1、定义

Java是面向对象的编程,但并不是完全的面向对象。其中八种基本数据类型就不属于对象。但有时候我们需要将基本数据类型转变成对象来使用。所以再jdk.1.5之后引入了包装类的,方便我们使用。

2、包装类分类分类

java中的包装类位于java.lang包中,其中有许多关于基本数据类型的属性及相关的方法。
Java中基本数据类型对应的包装类如下表:

基本数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
char Charater
boolean Boolean

3、包装类的常用API使用

1)MAX_VALUE:该类能表述的最大值,从属于类,通过类名调用;
(2)MIN_VALUE:该类能表述的最小值。从属于类,通过类名调用;
(3)valueOf(num):将num包装成对象,从属于类,通过类名调用。

4、装箱和拆箱

(1)装箱:将基本数据类型转成包装类。
语法:类名变量名 = 类名.valueOf(num);
(2)拆箱:将包装类转成基本数据类型
语法:数据类型 变量名 = 该类的具体对象.intValue();

5、自动装箱和拆箱

在jdk1.5之后引入了自动装箱和拆箱:即使基本数据类型和基本数据类型之间自动转换。
(1)自动装箱:包装类 变量名 = num(数值);例:Integer num = 5;(此处num为对象)
实质:JVM自动执行了:Integer num = Integer.valueOf(5);
(2)自动拆箱:基本数据类型 变量 =变量名;例:int num1= num;(此处num1为基本数据类型)
实质:JVM自动执行了:int num1 =num.intValue();

6、字符串和和数字之间的转换

(1)字符串类型的数字转化成基本数据类型的数字
语法:int num = Integer.parseInt(Sting);
注意:字符串转化成整数,需要字符串规整,不然后抛异常:NumberFormatException;
(2)基本数据类型的数字转化成字符串
方法一:String str = num+” ”(空字符);
方法二:String str = 包装类对象.toString(不推荐)

二、Date类API的使用

java中有许多关于时间的类。
(1) java.util.Date:具体类,jdk1.1前的老版本时间类。
(2)java.util.Calendar:抽象类,是jdk1.1后新增的时间类。
具体实现类是:gregorianCalendar;
(3)java.test.DateFormat:抽象类,主要用于时间的格式化。
具体实现类是:simpleDateFormat;

1、时间类的变量类型

java中的时间变量通过long表示,单位为毫秒;
计算机中的基本时间为1970年1月1日00:00:00,即使格林尼治标准时间。

2、Date类的常用API

(1)Date date = new Date():获取系统当前时间(精确到毫秒);
(2)Date date = new Date(long time):新建时间对象,初始化时间为(格林尼治时间+time);
(3)boolean b =date.before(date1):表示判断date的时间是否在date1之前;
(4)boolean b =date.after(date1):表示判断date的时间是否在date1之后;
5)String str= date.toString():表示将date对象转变成String类型;
(6)long time =date.getTime():获取当前时间的毫秒数,从格林尼治时间至今。
注意:
java.util包中Date类的大多数属性和方法均已过时,现多使用Calendar类操作时间。

3、时间对象与字符串之间的转换

把时间对象转换成相应的格式的格式化,转换成字符串形式。相应的也可以将String类型的字符串转换成时间对象。
步骤:(1)使用simpleDateFormat类预定义格式
(2)将Date对象转换成预定义格式的String字符串输出,或将与预定义格式相同的String转换成Date对象。
语法:
(1)预定义格式
DateFormat df =new simpleDateFormat(yyyy-MM-dd);
(2)将Date对象按预定义格式格式化
String str = df.forMat(date);
(3)将String字符串转换成Date对象
Date date = df.parse(String str);
注意:将字符串换成Date对象时需要保证String的格式和预定义的格式一致。
Java中常用的时间格式如下:

三、Calendar类API的使用

1、定义

Calendar日历类为抽象类,提供了许多可以操作时间的属性和方法。
一般使用其子类:gregorianCalendar实现时间的操作。

2、Calendar类的常用API

(1)获取当前时间
Calendar calendar = new gregorianCalendar();
(2)设置时间
Calendar calendar = new gregorianCalendar(intyear,int month,int dayOfMonth);
注意:在Java中月份的下标为0-11;即0代表1月;此处month为下标。
(3)Date和Calendar类的互相转换
1)Date类对象转换成Calendar类对象
Calendatcalendar = Calendar.setTime(date);
2) Calendar类对象转换成Date类对象
Date date = =Calendar.getTime();
3)获取时间的相关字段:获取年、月、日等
int 变量名 = calendar.get(Canlendar.YEAR(MONTH/DATE/Day_OF_MONTH/DAY-OF_WEEK等));
注意:此处获得的月份为下标,表示月份时应加1;
4)设置时间相关字段
calendar.set(Calendar.YEAR(MONTH/DATE/Day_OF_MONTH)/ /DAY-OF_WEEK等,值);
注意:此处设置月份,星期几时一般使用对应的英文大写(常量),以免应角标产生混乱。

四、Math类的常用方法

1、abs 绝对值
2、 acos,asin,atan,cos,sin,tan 三角函数
3、sqrt 平方根
4、pow(double a, double b) a的b次幂
5、max(double a, double b) 取大值
6、 min(double a, double b) 取小值
7、 ceil(double a) 大于a的最小整数
8、 random() 返回 0.0 到1.0 的随机数
9、round(double a) double型的数据a四舍五入