date和装箱拆箱

该代码示例展示了Java中Integer类的进制转换方法,包括二进制、八进制、十六进制和自定义基数的转换。同时,文章涵盖了Date和Calendar类的使用,如创建日期对象、获取时间戳以及日期的加减操作。此外,还提及了SimpleDateFormat用于日期和字符串之间的格式化转换。
摘要由CSDN通过智能技术生成

package com.test01;

public class Test02 {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
int x = 10;
System.out.println(“二进制:” + Integer.toBinaryString(x));
System.out.println(“八进制:” + Integer.toOctalString(x));
System.out.println(“十六进制:” + Integer.toHexString(x));
System.out.println(“三进制:” + Integer.toString(x, 3));
// 装箱:将基本数据类型转换成对应的包装类对象
// 自动装箱,调用 public static Integer valueOf(int i)
Integer y = 2023;
// 拆箱:将包装类类型的对象转换成对应的基本数据类型
// 先自动拆箱 public int intValue(),再自动装箱
y += 1;
// Integer的构造方法
Integer i1 = new Integer(200); // 不建议使用
Integer i2 = new Integer(“2023”); // 作用:将String类型转变成Integer对象

    /*
        Integer进制转换方法:public static String toString(int i, int radix)
        参数 radix的范围:[2, 36]
     */
    int m = 500;
    System.out.println(Integer.toString(m, 16));

    // int——String
    int n = 30;
    String str1 = n + "";
    String str2 = String.valueOf(n);
    // String——int
    String str = "2024";
    int year = new Integer(str);  // 不建议使用
    int year1 = Integer.parseInt(str);  // 记住
}

}
package com.test02;

import java.util.Date;

public class TestDate {
public static void main(String[] args) {
// 根据系统当前时间,创建Date对象
Date date = new Date();
System.out.println(date); // Tue Feb 28 18:29:55 CST 2023:不符合中国人看时间的习惯
// 将毫秒值变为Date类对象,long为日期时间数据
Date date1 = new Date(10006060);
System.out.println(date1);
long time = date1.getTime();
System.out.println(time);

}

}
package com.test02;

import java.util.Calendar;
import java.util.Scanner;

public class TestCalendar {
public static void main(String[] args) {
// 根据系统当前时间返回Calendar对象
Calendar cal1 = Calendar.getInstance();
System.out.println(cal1.get(Calendar.YEAR) + “年” + (cal1.get(Calendar.MONTH) + 1) + “月” + cal1.get(Calendar.DAY_OF_MONTH) + “日”);
// cal1.set(2024,4,1);
cal1.add(Calendar.DATE, 800);
System.out.println(cal1.get(Calendar.YEAR) + “年” + (cal1.get(Calendar.MONTH) + 1) + “月” + cal1.get(Calendar.DAY_OF_MONTH) + “日”);
test05();
}

public static void test02() {  // 判断闰年
    Scanner input = new Scanner(System.in);
    System.out.println("请输入年份");
    int year = input.nextInt();
    if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
        System.out.println("闰年");
    }
}

public static void test03() {  // 判断闰年
    Scanner input = new Scanner(System.in);
    System.out.println("请输入年份");
    int year = input.nextInt();
    Calendar cal1 = Calendar.getInstance();
    cal1.set(year, 2, 1);
    cal1.add(Calendar.DATE, -1);
    if (cal1.get(Calendar.DATE) == 29) {
        System.out.println("闰年");
    }
}

public static void test04() {  // 计算你活了多少天?
    long end = System.currentTimeMillis();
    Scanner input = new Scanner(System.in);
    System.out.println("请输入出生年份");
    int year = input.nextInt();
    System.out.println("请输入出生月份");
    int month = input.nextInt();
    System.out.println("请输入出生日期");
    int day = input.nextInt();
    Calendar cal1 = Calendar.getInstance();
    cal1.set(year, month - 1, day);
    long start = cal1.getTimeInMillis();
    System.out.println((end - start) / 1000 / 60 / 60 / 24);
}

public static void test05() {  // 计算你活了多少天?
    Scanner input = new Scanner(System.in);
    System.out.println("请输入出生年份");
    int year = input.nextInt();
    System.out.println("请输入出生月份");
    int month = input.nextInt();
    System.out.println("请输入出生日期");
    int day = input.nextInt();
    Calendar cal1 = Calendar.getInstance();
    int YEAR = cal1.get(Calendar.YEAR);
    int MONTH = cal1.get(Calendar.MONTH);
    int DAY = cal1.get(Calendar.DAY_OF_MONTH);
    cal1.set(year, month - 1, day);
    int result = 0;
    int year2 = 0, month2 = 0, day2 = 0;
    while ( !((year2==YEAR) &&(MONTH==month2)&&(day2==DAY)) ) {
        cal1.add(Calendar.DATE, 1);
        year2 = cal1.get(Calendar.YEAR);
        month2 = cal1.get(Calendar.MONTH);
        day2 = cal1.get(Calendar.DAY_OF_MONTH);
        result++;
    }
    System.out.println(result);
}

}
package com.test02;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDateFormat {
public static void main(String[] args) throws ParseException {
// Date——String
Date date = new Date();
System.out.println(date);
SimpleDateFormat sdf = new SimpleDateFormat(“E yyyy年MM月dd日 hh:mm:ss:SSS”);
String format = sdf.format(date);
System.out.println(format);
// String——Date
String str = “2023年12月28日 07:23:12”;
SimpleDateFormat sdf2 = new SimpleDateFormat(“yyyy年MM月dd日 hh:mm:ss”);
Date date1 = sdf2.parse(str);
System.out.println(date1);
}
}
Date 日期类
所在包:java.util
构造方法
无参构造方法 public Date()
将系统当前时间封装成一个Date类的对象
public Date(long date)
将毫秒值变为Date类对象,long为日期时间数据
成员方法
public long getTime()
作用:系统当前时间-Java元年时间(单位:毫秒值)

Calendar类
所在包:java.util
构造方法:该类的构造方法的访问为protected,我们直接无法访问。
成员方法
public static Calendar getInstance()
获取当前时间的Calendar对象
public int get(int field)
获取年份:cal.get(Calendar.YEAR)
获取月份:cal.get(Calendar.MONTH)+1
获取日:cal.get(Calendar.DATE)
public Date getTime()
返回一个表示此Calendar时间值(从历元至现在的毫秒偏移量)的Date对象
public void set(int field,int value
将给定的日历字段设置为给定值

SimpleDateFormat类(格式化时间)
构造方法
public SimpleDateFormat(String pattern)
根据指定的正则表达式来创建对象
成员方法
public final String format(Date date)
将日期格式化为字符串数据
举例
Date date = new Date();
System.out.println(date);
// 格式化时间:Date——String
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年 MM月dd日 HH:mm:ss E”);
String time = sdf.format(date);
System.out.println(time);
public Date parse(String source) throws ParseException
将字符串格式化为日期数据
举例
String str = “2020年 11月25日 09:00:00”;
SimpleDateFormat sdf2 = new SimpleDateFormat(“yyyy年 MM月dd日 HH:mm:ss”);
Date date1 = sdf2.parse(str);
System.out.println(date1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值