1.枚举 Enum(引用数据类型)
枚举值:一旦没定义,不允许被改变!静态的常量!
枚举类中根据需求定义多个枚举值
01.封装不能从根本上禁止用户的不健康输入
02.使用枚举,从根本上限定用户的输入
03.所有的枚举值都是静态常量,可以通过 枚举类名.枚举值
04.枚举类中的构造方法必须是私有的 private
2.基本数据类型的包装类
01.集合中的泛型类型<int> 不允许出现基本数据类型 List<Integer> list=new ArrayList();
02.定义了一个基本数据类型的变量,变量名不能点出来东西 int num=5; num.???
03.基本数据类型不能转换成对象,包装类可以
04.所有的包装类都是由final修饰的,不允许被继承
05.在基本数据类型需要转换成对象的时候 使用包装类
06.jak1.5以后,允许基本数据类型和包装类进行混合运算,底层有装箱和拆箱操作
3.所有的包装类 都有将对应的基本数据类型作为参数来构造自己的实例
01.Float有三种实例化的方法 参数分别是double float和String
02.除了Character以外的7种包装类 都有将String作为参数 来构建自己的实例
001.6种数值类型的包装类都继承了Number
002.所以在用String作为参数来创建自己的实例的时候
003.如果参数不能转换成数值 则抛出NumberFormatException
03.除了Character以为的7种包装类 都有parseXxx(String s)
比如说Byta b = new Byte("1");
b.parseByte(String)
001.四种整型对应的包装类 都是parseXxx(String s,int radix)radix 进制转换
002.其他的四种都没有parseXxx(String s,int radix)
003.Character压根没有parseXxx()
04.valueOf
把基本数据类型转换成对应的包装类==》装箱
除了Character没有参数是String类型的方法
因为Integer.valueOf() 会缓存[-128,127]之间的数据!
如果我们的数组在这个区间,不会去创建新的对象,而是从缓存池中获取!
否则就new Integer();
xxxValue 8种包装类型都有
把xxx类型转换成对应的基本数据类型==》拆箱
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
以上六种都是数值类型!都是extends Number implements Comparable<T>
public abstract class Number implements java.io.Serializable
char Character
boolean Boolean
以上两种都是implements java.io.Serializable,Comparable<T>
4.Math
01.就是一个算术类
02.是final修饰
03.除了构造方法之外所有的方法都是静态方法,方便我们使用
天花板函数:
ceil 天 向上取整 3.1==》4 3.0==》3
floor 地 向下取整 3.9==》3
四舍五入:
round(2.5)==》3
round(2.498)==》2
绝对值:abs()
Random
随机的boolean 值
5.Date SimpleDateFormat Calendar
Date date=new Date();
System.out.println("年"+(date.getYear()+1900));
System.out.println("月"+(date.getMonth()+1));
System.out.println("日"+(date.getDate()));
System.out.println("周"+(date.getDay()));
System.out.println(date);
//日期格式转换类
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("format()==>把日期转换成String类型"+sdf.format(date));
//定义一个日期类型的字符串 转换成Date
String time = "2017-12-25 13:59:59";
try {
System.out.println("parse()==>把字符串转换成日期:"+sdf.parse(time));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日 星期"+(c.get(Calendar.DAY_OF_WEEK)-1));
System.out.println(c.getTime());//返回值是Date
System.out.println(c.get(Calendar.HOUR_OF_DAY)+"时"+c.get(Calendar.MINUTE)+"分"+c.get(Calendar.SECOND));
System.out.println(System.currentTimeMillis());//返回毫秒数
6.String StringBuilder StringBuffer