自动装箱、拆箱
装箱:把基本类类型转换为包装类类型
拆箱:把包装类类型转换为基本类类型
自动装箱:把基本类型int直接赋值给包装类类型Integer
自动拆箱:把 Integer类型直接赋值给int类型
tips:
只要是对象,在使用前就最好先做不为Null的判断,避免为空指针;
日期类: data,SimpleDataFormat,Calendar
Public Data();
Public Data(long data);long 是毫秒为单位的,起始时间是1970年1月1号的0时0分0秒,此处的时间是在此基础上加上 long data;
遇到java.util.data无法导包的问题
目前没有解决
data输出的时间不利于阅读,可以用:
SimpleDataFormat
Calendar类
是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法
Calendar rightNow = Calendar.getInstance();
get方法获得Calendar的值;
add可以对Calendar的返回值YEAR、MONTH等进行修改;
set方法设置Calendar中的值;
month值是从0开始计算的,赋值与实际值差了1;
以下演示一下应用:
代码1:
public static void main(String[] args) {
//获取当前日历时间
Calendar c = Calendar.getInstance();
// int year = c.get(Calendar.YEAR);
// int month = c.get(Calendar.MONDAY)+1;
// int day = c.get(Calendar.DATE);
// System.out.println(year+"年"+month+"月");
c.add(Calendar.YEAR,-3);//对获取的年份-3
c.set(2020,1,11);//赋值新的日历信息
//获取对象c中的具体值
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONDAY)+1;
int day = c.get(Calendar.DATE);
System.out.println(year+" "+ month +" "+day);
代码2:获得任意一年的2月份有多少天
1、获得年份
Scanner sc =new Scanner(System.in);
System.out.println("请输入年份");
int i = sc.nextInt();
// 2、对象赋值为这一年的3月第一天
Calendar ca = Calendar.getInstance();
ca.set(i,2,1);
// 3、对象往前推一天
ca.add(Calendar.DATE,-1);
// 4、获取这天的日期并输出
int day = ca.get(Calendar.DATE);
System.out.println(i+"年2月份一共有"+day+"天");