枚举
枚举定义:枚举类型本质上也是一种类,只不过是这个类的对象是固定的几个,而不能随意让用户创建。
语法格式:
【修饰符】 enum 枚举类名{
常量对象列表
}
【修饰符】 enum 枚举类名{
常量对象列表;
其他成员列表;
}
public enum Season{
SPRING,SUMMER,AUTUMN,WINTER
}
enum Season{
SPRING("春"),SUMMER("夏"),AUTUMN("秋"),WINTER("冬");
private final String description;
private Season(String description){
this.description = description;
}
public String toString(){//需要手动编写,无法使用Generate toString()...
return description;
}
包装类
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而当要使用只针对对象设计的API或新特性(例如泛型),那么基本数据类型的数据就需要用包装类来包装。
装箱与拆箱
装箱:把基本数据类型转为包装类对象。
转为包装类的对象,是为了使用专门为对象设计的API和特性
拆箱:把包装类对象拆为基本数据类型。
转为基本数据类型,一般是因为需要运算,Java中的大多数运算符是为基本数据类型设计的。比较、算术等
基本数值---->包装对象
总结:对象(引用数据类型)能用的运算符有哪些?
(1)instanceof
(2)=:赋值运算符
(3)==和!=:用于比较地址,但是要求左右两边对象的类型一致或者是有父子类继承关系。
(4)对于字符串这一种特殊的对象,支持“+”,表示拼接。
基本数据类型和字符串之间的转换
(1)基本数据类型转为字符串
int a = 10;
//String str = a;//错误的
//方式一:
String str = a + "";//进行拼接也可以转换
//方式二:
String str = String.valueOf(a);
(2)把字符串转为基本数据类型
String转换成对应的基本类型 ,除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型,例如:
public static int parseInt(String s)
:
将字符串参数转换为对应的int基本类型。public static long parseLong(String s)
:
将字符串参数转换为对应的long基本类型。public static double parseDouble(String s)
:
将字符串参数转换为对应的double基本类型。
或把字符串转为包装类,然后可以自动拆箱为基本数据类型
-
public static Integer valueOf(String s)
:
将字符串参数转换为对应的Integer包装类,然后可以自动拆箱为int基本类型 -
public static Long valueOf(String s)
:
将字符串参数转换为对应的Long包装类,然后可以自动拆箱为long基本类型 -
public static Double valueOf(String s)
:
将字符串参数转换为对应的Double包装类,然后可以自动拆箱为double基本类型
注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException
异常。
常用类
1、时间类
2、精度数据运算类
3、最大值最小值运算类
4、随机数类