Java常用基础类库


基础数据类型与包装类

包装类,将基本数据类型包装成类(变成引用数据类型)

基本数据类型 包装类
byte Byte
short Short
int integer
long Long
char Character
float Float
double Double
boolean Boolean

装箱,从基本数据类型转换为对应的包装类对象;

拆箱,从包装类对象转换为对应的基本数据类型;

public class test01 {
    public static void main(String[] args) {
        // 装箱,基本数据类型 -> 包装类对象
        // Integer a = new Integer(1);   new Integer()在jdk9开始已经弃用
        Integer b = Integer.valueOf(10);
        Integer c = Integer.valueOf("100");
      	Integer m = 100;

        // 拆箱,包装类对象 -> 基本数据类型
        int d = b.intValue();
        float e = b.floatValue();
        double f = c.doubleValue();

        // 自动装箱
        Integer g = 1000;
        // 自动拆箱
        int h = g;
    }
}

parseXXX(),字符串转换为基本数据类型

toString(),基本数据类型转换为字符串

public class test01 {
    public static void main(String[] args) {
        // 基本数据类型转为字符串
        int number = 20220222;
        String str1 = Integer.toString(number);
        String str2 = String.valueOf(number);

        // 字符串转为基本数据类型
        int i = Integer.parseInt("20220222");

        System.out.println("str1 = " + str1);
        System.out.println("str2 = " + str2);
        System.out.println("i = " + i);
    }
}

日期时间相关类

  1. java.util包,提供了Date类来封装当前的日期和时间
  • 构造函数

    // 当前时间
    Date()
      
    // 从1970年1月1日起的毫秒数作为参数(时间戳)
    Date(long millisec)
  • 常用方法

    // 返回自1970年1月1日00:00:00GMT以来至Date对象表示的毫秒数(时间戳)
    long getTime()
    
    // 调用此方法的Date对象在指定日期之后返回True,否则返回false
    boolean after(Date date)
      
    // 调用此方法的Date对象在指定日期之前返回True,否则返回false
    boolean before(Date date)
import java.util.Date;

public class test02 {
    public static void main(String[] args) {

        Date date1 = new Date();
        Date date2 = new Date(1700636237966L);

        System.out.println(date1);
        System.out.println(date1.getTime());
        System.out.println(date2);
    }
}

执行结果:

Wed Nov 22 15:00:41 CST 2023
1700636441171
Wed Nov 22 14:57:17 CST 2023
  1. java.time包,提供了新的日期时间处理类

核心类:

  • LocalDate 不包含具体时间的日期;
  • LocalTime 不包含日期的时间;
  • LocalDateTime 包含了日期及时间;

LocalDate常用API

  • getYear() int 获取当前日期的年份
  • getMonth() Month 获取当前日期的月份
  • getMonthValue() int 获取当前日期在第几月
  • getDayOfWeek() 表示该对象表示的日期是星期几
  • getDayOfMonth() int 表示该对象表示的日期是这个月的第几天
  • getDayOfYear() int 表示该对象表示的日期是今年的第几天
  • withYear(int year) LocalDate 修改当前对象的年份
  • withMonth(int month) LocalDate 修改当前对象的月份
import java.time.LocalDate;

public class test02 {
    public static void main(String[] args) {

        LocalDate today = LocalDate.now();

        System.out.println(today);
        System.out.println(today.getDayOfMonth());
        System.out.println(today.getMonth());
        System.out.println(today.getDayOfYear());
        System.out.println(today.getDayOfWeek());

        // 加减年月日
        LocalDate changeDate1 = today.plusYears(2);
        LocalDate changeDate2 = today.minusMonths(10);
        System.out.println(changeDate1);
        System.out.println(changeDate2);

        // 日期比较
        System.out.println(changeDate1.isAfter(today));
    }
}
  1. 日期格式化

线程安全的日期月时间DateTimeFormatter

LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String ldtStr = dtf.format(ldt);
System.out.println(ldtStr);

执行结果:

2023-11-22T15:43:16.919695
2023-11-22 15:43:16

Math类

Java中操作数学运算使用Math类,由于构造函数被私有化,所以不允许创建对象。静态方法,直接使用类名.方法名

public class test03 {
    public static void main(String[] args) {

        // 计算平方根
        System.out.println(Math.sqrt(64));
        // 计算立方根
        System.out.println(Math.cbrt(64));
        // 向上取整
        System.out.println(Math.ceil(1.1));
        // 向下取整
        System.out.println(Math.floor(1.9));
        // 四舍五入
        System.out.println(Math.round(1.49));
        // 取最小值
        System.out.println(Math.min(8,10));
        // 取最大值
        System.out.println(Math.max(8,10));
        // 取绝对值
        System.out.println(Math.abs(-10.1));
        // a的b次方
        System.out.println(Math.pow(2,8));
        // 静态常量E 自然对数e
        System.out.println(Math.E);
        // 圆周率π
        System.out.println(Math.PI);

    }
}

Math.random()

public class test04 {

    public static void main(String[] args) {
      
        System.out.println(Math.random());

        // 产生1到10的随机数
        for (int i=0; i<20;i++) {
            int random = (int)(Math.random()*10+1);
            System.out.println(random);
        }
    }
}

Random类

import java.util.Random;

public class test04 {

    public static void main(String[] args) {

        Random random = new Random();
        System.out.println(random.nextInt());
        System.out.println(random.nextInt(100));
        System.out.println(random.nextFloat());
    }
}

枚举类型

在数学和计算机科学理论中,枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计算。

Java里面的枚举使用Enum关键字。

public class test06 {
    public static final int MONDAY = 1;
    public static final int TUESDAY = 1;
    public static final int WEDNESDAY = 1;
    public static final int THURSDAY = 1;
    public static final int FRIDAY = 1;
    public static final int SATURDAY = 1;
    public static final int SUNDAY = 1;

    public static void main(String[] args) {
        DayEnum dayEnum = DayEnum.MONDAY;
    }
}

enum DayEnum{
    MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}

enum SexEnum {
    boy, girl
}

常用API

// 返回此枚举常量的名称
name()
  
// 和name方法一样
toString()

// 获取枚举变量在枚举类中声明的顺序
ordinal()

常用方法

// 通过字符串获取对应的枚举值
valueOf()
  
// 获取枚举类中的所有变量,并作为数组返回
valueOf()
import java.util.Arrays;

public class test06 {
    public static final int MONDAY = 1;
    public static final int TUESDAY = 1;
    public static final int WEDNESDAY = 1;
    public static final int THURSDAY = 1;
    public static final int FRIDAY = 1;
    public static final int SATURDAY = 1;
    public static final int SUNDAY = 1;

    public static void main(String[] args) {
        DayEnum dayEnum = DayEnum.FRIDAY;
        System.out.println(dayEnum);
        System.out.println(dayEnum.name());
        System.out.println(dayEnum.toString());
        System.out.println(dayEnum.ordinal());

        System.out.println(DayEnum.valueOf("WEDNESDAY"));
        System.out.println(Arrays.toString(DayEnum.values()));
    }
}

enum DayEnum{
    MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}

enum SexEnum {
    boy, girl
}

文章作者: 老百
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 老百 !
  目录