1、枚举:jdk1.4
关键字 :enum enumeration:枚举
public enum Gender{
//枚举值
相当于静态常量
MALE,
FEMALE
}
调用:Gender.MALE
作用:为属性提供一个值的范围
1.声明一个枚举类型
2.使用枚举类型
3.转换
如何将一个字符串转枚举
//将String MALE–>转成Gender.MALE
//1.将sex转成大写
sex=sex.toUpperCase();
//2.使用转值的方法 字符串–》枚举 :枚举的valueof
Gender gender=Gender.valueOf(sex);//静态方法
Person p=new Person(name,age,gender);
如何讲一个枚举值转字符串
//2.1获取所有枚举值
Gender [] values=Gender.values();
for(Gender g:values){
//将枚举值转成字符串
System.out.println(g.toString());
}
2、日期
日期相关的api:
a.java.util.Date 日期
b.java.util.Calender 日历
c.java.text.SimpleDateFormat 日期格式化
Date:
保存日期信息,已经弱化了其他功能(Calender)
java.util.Date 父类
java.sql.Date 子类
// 1.构建对象
//1.1 当前系统时间(时区,年,月,日,小时,分钟,秒,毫秒,星期几)
Date date=new Date();
System.out.println(date);
//1.2 使用毫秒数构建对象 明天
Date date2=new Date(date.getTime()+10006060*24);
System.out.println(date2);
System.currentTimeMillis();//获取系统当前时间
//2.常用方法
//2.1获取date对应的从1970-01-01:0:0:0:0 开始统计的一个数据
long mills=date.getTime();//setTime()
//2.2 比较时间(大小)
System.out.println(date.compareTo(date2));//-1 和String一致
//2.3比较前后
System.out.println(date.before(date2));//true
System.out.println(date.after(date2));//false
Calender:
可以获取并且灵活的操作日期中的某一部分( // 1.构建对象
//系统当前时间
Calendar calendar=Calendar.getInstance();
//2.常用的方法
//2.1获取日期的信息
//a.年
int year=calendar.get(Calendar.YEAR);
//b.月
int month=calendar.get(Calendar.MONTH);//2:0~11
//c.日
int date=calendar.get(Calendar.DATE);
System.out.println(year+","+month+","+date);
//d.时分秒,毫秒
//e.星期
int day=calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(“星期”+day);//**5:1(星期天)~7 星期天是1
//f.某一天是周几
//e.月份的最大天数
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(maxday);//31
//2.2设置日期
//1.更换日期(部分)
//2020-3-1
calendar.set(Calendar.DATE, 1);
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//周日
//2019-12-25
calendar.set(2019, 12-1,25);
//将日期转成毫秒数
long mills=calendar.getTimeInMillis();
//今天的毫秒数
long todayMills=System.currentTimeMillis();
long span =Math.abs(todayMills-mills);
int days=(int )(span/1000/60/60/24);
System.out.println(“他们认识了”+days+" 天");年,月,日)
SimpleDateFormat:
美化,做展示
Date date =new Date();
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss S E”);
//1.将Date转成字符串
String dateStr=sdf.format(date);
System.out.println(dateStr);
//2.将字符串转成日期,一定要注意数据的格式和sdf格式一致
Date date2=sdf.parse(“2020-03-26 17:02:05 770 星期四”);//parse 转换的方法一定要注意数据格式
System.out.println(date2);
//小练习:从身份证上截取一段数据,然后计算用户的年龄
String birthStr=“19980110”;
SimpleDateFormat sdf2=new SimpleDateFormat(“yyyyMMdd”);
Date birth=sdf2.parse(birthStr);
int year =(int)((System.currentTimeMillis()-birth.getTime())/1000/60/60/24/365);
System.out.println(year+“周岁”);
3、强化方法
方法的递归