枚举:
枚举指由一组固定的常量组成的类型
枚举的创建:
1 public enum Week { 2 周一,周二,周三,周四,周五,周六,周日 3 4 }
枚举的使用:
1 public class TestTwo610 { 2 public static void main(String[] args){ 3 getWeek(Week.周一); 4 } 5 6 public static void getWeek(Week week){ 7 switch(week){ 8 case 周一: 9 System.out.println("这是星期一"); 10 break; 11 case 周二: 12 System.out.println("这是星期二"); 13 break; 14 case 周三: 15 System.out.println("这是星期三"); 16 break; 17 case 周四: 18 System.out.println("这是星期四"); 19 break; 20 case 周五: 21 System.out.println("这是星期五"); 22 break; 23 case 周六: 24 System.out.println("这是星期六"); 25 break; 26 case 周日: 27 System.out.println("这是星期日"); 28 break; 29 } 30 } 31 32 }
枚举作为一个特殊的类,可以实现接口,但是不能继承其他类,也不能被其他类继承;枚举也可以存在构造函数,但是修饰符必须是private
1 public enum Color implements ColorInterface{ 2 RED("红色",1),Blue("蓝色",2); 3 4 private String name; 5 private int num; 6 7 //构造函数 8 private Color(){} 9 private Color(String name, int num){ 10 this.name=name; 11 this.num=num; 12 } 13 14 public String getName() { 15 return name; 16 } 17 public void setName(String name) { 18 this.name = name; 19 } 20 public int getNum() { 21 return num; 22 } 23 public void setNum(int num) { 24 this.num = num; 25 } 26 27 @Override 28 public String SetColor() { 29 30 return null; 31 } 32 33 @Override 34 public int SetNum() { 35 36 return 0; 37 } 38 39 }
测试类及输出结果:
1 public class TestTwo610 { 2 public static void main(String[] args){ 3 Color co=Color.Blue; 4 System.out.print(co.getName()); 5 6 }
包装类:
包装类把基本类型数据转换为对象
基本数据类型对应的包装类型:
int --- Integer
char --- Character
short --- Short
long --- Long
byte --- Byte
float --- Float
double --- Double
boolean --- Boolean
基本类型和包装类的自动转换
1 //int类型及包装类的转换 2 Integer it=5; 3 int it1=it; 4 5 //double类型及包装类的转换 6 double d=12.0; 7 Double d1=d;
String s="81";
//字符串转换成基本类型
int num=Integer.parseInt(s);
//字符串转换成包装类型
Integer it=Integer.valueOf(s);
Math类及其常用方法:
1 Math.abs(-12);//获取正整数 2 Math.max(2, 5);//获取较大的值 3 int ran = (int) (Math.random() * 10); //生成一个0-9之间的随机数 4 Math.ceil(12.3); //向上取整 5 Math.floor(12.3);// 向下取整 6 Math.round(12.5); //四舍五入
BigDecimal类的使用:
1 //精确度小数点后两位,剩下的四舍五入 2 BigDecimal bg=new BigDecimal(3.1415926).setScale(2,BigDecimal.ROUND_DOWN);
字符串方法:
1 String a="tom"; 2 String b="TOM"; 3 String c=" 哈哈 "; 4 //忽略大小写来比较两个字符串 5 System.out.println(a.equalsIgnoreCase(b)); 6 //把字母都变成小写 7 System.out.println(b.toLowerCase()); 8 //把字母都变成大写 9 System.out.println(a.toUpperCase()); 10 //去掉字符串两端的空格 11 System.out.println(c.trim()); 12 //字符串拼接 13 String d=a.concat(b); 14 System.out.print(d);
字符串常用提取方法:
StringBuffer的声明和使用:
StringBuffer 对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率 StringBuffer声明 StringBuffer的使用
StringBuffer声明:
1 StringBuffer strb = new StringBuffer(); 2 3 StringBuffer strb = new StringBuffer("aaa");
1 sb.toString(); //转化为String类型 2 sb.append("**"); //追加字符串 3 sb.insert (1, "**"); //插入字符串
Date时间类的使用和操作
1 //创建日期对象 2 Date date = new Date(); 3 //定制日期格式 4 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 5 //时间格式转换成字符串 6 String now = formater.format(date); 7 System.out.println(now); 8 String time="2018-08-12 12:12:12"; 9 //字符串转换成日期格式 10 Date date1=formater.parse(time); 11 System.out.println(date1);
输出结果:
Calendar类:
Calendar对象的创建和方法调用:
1 Calendar cl=Calendar.getInstance(); 2 System.out.println(cl.get(cl.YEAR)+"-"+(cl.get(cl.MONTH)+1)+"-"+cl.get(cl.DAY_OF_MONTH)); 3 System.out.println("今天星期:"+(cl.get(cl.DAY_OF_WEEK)-1));