包装类

所谓的包装就是将int,float,char等共8种不同基本数据类型转化成类的形式

基本数据类型

对应的包装类

byte

Byte

char

Char

int

Integer

long

Long

short

Short

float

Float

doule

Doule

boolean

Boolean

public class Example006 {
    public static void main(String[] args)
    {
        int a = 20;
        Integer b = a;
        System.out.println(b);
        int c = b;
        System.out.println(c);
    }
}
public class Example006 {
    public static void main(String[] args)
    {
        //String.valueOf()的方法
        int n = 123;
        String str = "996";
        
        String string = String.valueOf(n);
        System.out.println("将int变成字符串"+string);
        
        //通过包装类的静态方法valueOf()
        Integer integer = Integer.valueOf(n);
        Integer integer2 = Integer.valueOf(str);
        System.out.println("将int变量转换成包装类"+integer);
        System.out.println("将字符串变量转换成包装类"+integer2);
        
        //通过包装类的有参基本构造方法
        Integer integer3 = new Integer(n);
        Integer integer4 = new Integer(str);
        System.out.println("用构造方法来转换int的包装类"+integer3);
        System.out.println("用构造方法来转换字符串的包装类"+integer4);
        
        //通过包装类的parsexxx()的静态方法
        int parseInt = Integer.parseInt(str);
        System.out.println("将字符串转换成基本类型"+parseInt);
        
        //通过包装类的toString()方法
        String string2 = integer.toString();
        System.out.println("将包装类转换成字符串"+string2);


    }
}

日期和时间类

Date类

这个类就两个功能,一个构造方法是获取当前的时间,然后还有一个含参的就是获取指定的日期。

import java.util.Date;
import java.util.Random;

public class Example006 {
    public static void main(String[] args)
    {
        Date d1 = new Date();
        Date d2 = new Date(System.currentTimeMillis()+1000);
        System.out.println(d1);
        System.out.println(d2);
        
    }
}

Calendar类

本类是一个抽象类,不能直接实例化,必须使用getInstance()方法以后再使用其他方法。

import java.util.Calendar;

public class Example007 {
    public static void main(String[] args) {
       Calendar calendar = Calendar.getInstance();
       calendar.set(2019,1,1);
       calendar.add(Calendar.DATE,100);
       int year = calendar.get(Calendar.YEAR);
       int month = calendar.get(Calendar.MONTH)+1;
       int date = calendar.get(Calendar.DATE);
        System.out.println("计划竣工日期"+year+"年"+month+"月"+date+"日");


    }
}

日期、时间类

import java.time.*;
import java.util.Calendar;
import java.util.Locale;

public class Example008 {
    public static void main(String[] args) {
       Clock clock = Clock.systemUTC();
        System.out.println("获取UTC时区转换的当前时间"+clock.instant());
        System.out.println("获取UTC时区转换的毫秒数"+clock.millis());

        Duration duration = Duration.ofDays(1);
        System.out.println("一天等于"+ duration.toHours());
        System.out.println("一天等于"+duration.toMinutes());
        System.out.println("一天等于"+duration.toMillis());

        Instant instant = Instant.now();
        System.out.println("获取UTC时区的当前时间"+instant);
        System.out.println("当前时间一小时后的时间"+instant.plusSeconds(3600));
        System.out.println("当前时间一小时前的时间"+instant.minusSeconds(3600));

        LocalDate localDate = LocalDate.now();
        System.out.println("从默认时区的系统时钟获得的当前日期"+localDate);
        LocalTime localTime = LocalTime.now();
        System.out.println("从默认时区的系统时钟获取当前时间"+localTime);
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("从默认时区的系统时钟获取日期,时间"+localDateTime);
        LocalDateTime time = localDateTime.plusDays(1).plusHours(3).plusMinutes(30);
        System.out.println("当前的日期,时间加上1天3小时30分以后"+time);

        Year year = Year.now();
        System.out.println("当前年份"+year);
        YearMonth yearMonth = YearMonth.now();
        System.out.println("当前年月"+yearMonth);
        MonthDay monthDay = MonthDay.now();
        System.out.println("当前月日"+monthDay);
        ZoneId zoneId = ZoneId.systemDefault();
        System.out.println("当前系统默认时区为"+zoneId);



    }
}

格式化类

DateFormat类

在使用Date类的时候输出的是英文格式,要想转换成中文格式,就需要使用本类进行转换。

import java.text.DateFormat;
import java.util.Date;

public class Example009 {
    public static void main(String[] args) {
        Date date = new Date() ;
        DateFormat fullmate = DateFormat.getDateInstance(DateFormat.FULL);
        DateFormat longmate = DateFormat.getDateInstance(DateFormat.LONG);
        DateFormat shortmate = DateFormat.getDateInstance(DateFormat.SHORT);
        DateFormat mediummate = DateFormat.getDateInstance(DateFormat.MEDIUM);

        System.out.println("完整日期"+fullmate.format(date));
        System.out.println("长日期"+longmate.format(date));
        System.out.println("短日期"+shortmate.format(date));
        System.out.println("普通日期"+mediummate.format(date));
    }
}
SimpleDateFormat类

SimpleDateFormat类是DateFormate的子类,可以实例化。可以将日期形式的字符串转换成各种形式的字符串。

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

public class Example009 {
    public static void main(String[] args) {
        SimpleDateFormat s1 = new SimpleDateFormat("Gyyyy年MM月dd日:今天是yyyy年M月d日,E");
        System.out.println(s1.format(new Date()));

    }
}
DateTimeFormatter类
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Date;

public class Example009 {
    public static void main(String[] args) {
        LocalDateTime date = LocalDateTime.now();
        System.out.println("使用常量创立DateTimeFoormatter:");
        DateTimeFormatter d1 = DateTimeFormatter.ISO_DATE_TIME;
        System.out.println(d1.format(date));

        System.out.println("使用MEDIUM类型风格的方式创立DateTimeFormatter:");
        DateTimeFormatter d2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
        System.out.println(d2.format(date));

        System.out.println("根据模式字符串创立DateTimeFormatter:");
DateTimeFormatter d3 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(date.format(d3));
    }
}