Java:常用API

2023-05-14  本文已影响0人  iOS_修心

一:Scanner

        //Scanner(InputStream source):创建 Scanner 对象
        Scanner sc = new Scanner(System.in);

        //int nextInt():获取一个int类型的数据
        System.out.println("请输入一个整数:");
        int i = sc.nextInt();

        //输出获取到的数据
        System.out.println("你输入的数据是:" + i);

二:Random

     // Random():创建一个新的随机数生成器
        Random r = new Random();
        // 参数bound表示获取到的随机数在[0,bound)之间
        int i = r.nextInt(10);
        System.out.println(i);

三:import java.util.Date

       //当前时间
        Date d = new Date();
        System.out.println("一般日期输出:" + d);
        System.out.println("时间戳:" + d.getTime());

        //格式化(从 Date 到 String )
        //SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        // 将日期格式化成日期/时间字符串
        String s = sdf.format(d);
        System.out.println(s);

        //解析(从 String 到 Date )
        String ss = "2023年05月11日 17:33:46";
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        //从给定字符串的开始解析文本以生成日期
        Date dd = sdf2.parse(ss);
        System.out.println(dd);

四:System

方法名 说明
public static void exit(int status) 终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
        // 获取开始的时间节点
        long start = System.currentTimeMillis();
        for (int i = 1; i <= 10000; i++) {
            System.out.println(i);
        }
        // 获取代码运行结束后的时间节点
        long end = System.currentTimeMillis();
        System.out.println("共耗时:" + (end - start) + "毫秒");

五: Objects

方法名 说明
public static String toString(对象) 返回参数中对象的字符串表示形式。
public static String toString(对象, 默认字符串) 返回对象的字符串表示形式。
public static Boolean isNull(对象) 判断对象是否为空
public static Boolean nonNull(对象) 判断对象是否不为空

六:BigDecimal

        BigDecimal big1 = new BigDecimal("123.345");
        BigDecimal big2 = new BigDecimal("111.111");
        
        System.out.printf("加法:");
        BigDecimal add = big1.add(big2);
        System.out.printf(add.toString());

        System.out.printf("\n减法:");
        BigDecimal subtract = big1.subtract(big2);
        System.out.printf(subtract.toString());

        System.out.printf("\n乘法:");
        BigDecimal multiply = big2.multiply(new BigDecimal(2));
        System.out.printf(multiply.toString());

        System.out.printf("\n除法:");
        BigDecimal divide1 = big2.divide(new BigDecimal(2));
        System.out.printf(divide1.toString());

        System.out.printf("\n除法-四舍五入:");
        BigDecimal divide2 = big2.divide(new BigDecimal(2), BigDecimal.ROUND_HALF_UP);
        System.out.printf(divide2.toString());
加法:234.456
减法:12.234
乘法:222.222
除法:55.5555
除法-四舍五入:55.556

七:日志

// 测试类
public class Test01 {

    //获取日志的对象
    private static  final Logger LOGGER = LoggerFactory.getLogger(Test01.class);

    public static void main(String[] args) {
        //1.导入jar包
        //2.编写配置文件
        //3.在代码中获取日志的对象
        //4.按照日志级别设置日志信息
        LOGGER.debug("debug级别的日志");
        LOGGER.info("info级别的日志");
        LOGGER.warn("warn级别的日志");
        LOGGER.error("error级别的日志");
    }
}

八:枚举

public enum s {   
  枚举项1,枚举项2,枚举项3;
}
注意: 定义枚举类要用关键字enum
1.简单枚举
public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}
2.枚举构造方法,抽象方法
public enum Season {

    SPRING("春"){
        //如果枚举类中有抽象方法
        //那么在枚举项中必须要全部重写
        @Override
        public void show() {
            System.out.println(this.name);
        }

    },

    SUMMER("夏"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    },

    AUTUMN("秋"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    },

    WINTER("冬"){
        @Override
        public void show() {
            System.out.println(this.name);
        }
    };


    public String name;

    //空参构造
    //private Season(){}
    //有参构造
    private Season(String name){
        this.name = name;
    }
    //抽象方法
    public abstract void show();
}
3、枚举使用特点
static void test(){
     /*
    1.所有枚举类都是Enum的子类
    2.我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
    3.每一个枚举项其实就是该枚举的一个对象
    4.枚举也是一个类,也可以去定义成员变量
    5.枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,
      但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
    6.枚举类可以有构造器,但必须是private的,它默认的也是private的。
      枚举项的用法比较特殊:枚举("");
    7.枚举类也可以有抽象方法,但是枚举项必须重写该方法
*/

    //第二个特点的演示
    //我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
    System.out.println(Season.SPRING);
    System.out.println(Season.SUMMER);
    System.out.println(Season.AUTUMN);
    System.out.println(Season.WINTER);

    //第三个特点的演示
    //每一个枚举项其实就是该枚举的一个对象
    Season spring = Season.SPRING;
    spring.show();
}

4、枚举方法

方法名 说明
String name() 获取枚举项的名称
int ordinal() 返回枚举项在枚举类中的索引值
int compareTo(E o) 比较两个枚举项,返回的是索引值的差值
String toString() 返回枚举常量的名称
static <T> T valueOf(Class<T> type,String name) 获取指定枚举类中的指定名称的枚举值
values() 获得所有的枚举项
static void test1(){
    // 获取枚举项的名称
    String name = Season.SPRING.name();
    System.out.println(name);
    System.out.println("-----------------------------");

    // 返回枚举项在枚举类中的索引值
    int index1 = Season.SPRING.ordinal();
    System.out.println(index1);
    System.out.println("-----------------------------");

    //  比较两个枚举项,返回的是索引值的差值
    int result = Season.SPRING.compareTo(Season.WINTER);
    System.out.println(result);//-3
    System.out.println("-----------------------------");

    //返回枚举常量的名称
    String s = Season.SPRING.toString();
    System.out.println(s);
    System.out.println("-----------------------------");

    //  获取指定枚举类中的指定名称的枚举值
    Season spring = Enum.valueOf(Season.class, "SPRING");
    System.out.println(spring);
    System.out.println(Season.SPRING == spring);
    System.out.println("-----------------------------");

    // 获得所有的枚举项
   Season[] values = Season.values();
    for (Season value : values) {
        System.out.println(value);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读