枚举
枚举是指由一组固定的常量组成的类型,使用关键字enum定义。
定义枚举语法格式如下:
public enum enumName{
L1,L2,L3;//枚举常量之间用逗号隔开
}
枚举是一种类型,是java.lang.Enum类的子类,继承了Enum类中的许多游泳的方法。
使用枚举的好处:
- 枚举可以是代码更易于维护,有助于确保为变量指定合法的值;
- 枚举更容易编程时输入;
- 使代码更清晰;
包装类
- 包装类把基本类型数据转换为对象
每个基本类型在java.lang包中都有一个相应的包装类; - 包装类的作用:
提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型。
包装类的构造方法:所有包装类都可将于之对应的基本类型作为参数,来构造他们的实例。
除Character类外,其他包装类可将一个字符串作为参数构造他们的实例。
注意事项
- Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false;
- 当Number包装构造方法参数为String时,字符串不能为Null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常。
基本数据类型转换为包装类
使用包装类的valueOf()方法:
public ststic Type valueOf(type value)
如:Integer intValue = Integer.valueOf(21);
字符串转换为包装类
(Character类除外)
public ststic Type valueOf(String s)
如:Integer intValue = Integer.valueOf("21");
拆箱和装箱
基本类型和包装类的自动转换。
拆箱:包装类对象转换为基本数据类型的值;
装箱:基本类型转换为包装类的对象
包装类的特点:
- JDK1.5后。允许基本数据类型和包装类型进行混合数学运算;
- 包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用;
Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率);
Math类中所有的方法都是静态的,因此没有子类。
Random类
int random = (int)(Math.random()*10);//生成一个0-9之间的随机数
String类
- String类提供了length()方法,确定字符串的长度;
- String类提供了equals()方法,比较存储在两个字符串对象的内容是否一致;
equals:检查组成字符串内容的字符是否完全一致。
"=="和equals()的区别:
==:判断两个字符串在内存中的位置,即判断是否是同一个字符串对象
字符串的连接
方法一:使用"+";
如:String a = “abc”;
String b = a+“123”;
输出结果就是abc123;
方法二:使用String类的cancat()方法。
StringBuffer类
对字符串频繁修改时,使用StringBuffer类可以大大体改程序的执行效率。
StringBuffer声明
StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer("aaa");
StringBuffer的使用
sb.toString();//转化为String类型
sb.append("**");//追加字符串
sb.insert(1,"**");//插入字符串
String类和StringBuffer类
- String时不可变对象
- 经常改变内容的字符串最好不要使用String
- StringBuffer是可变的字符串
操作日期时间
获取当前日期
- java.util.Date类:表示日期和时间
- SimpleDateFormat类
如:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-
MM-dd HH:mm:ss")//日期格式
String now = sdf.format(date);
System.out.println(now);