Java 常用API

1 Math

1.1 概述

Math 包含执行基本数字运算的方法

1.2 调用方法

Math 类中无构造方法,但内部的方法都是静态的,可以直接调用

//范例
int n = 4;
Math.abs(n);

1.3 常用方法

2 System

2.1 常用方法

 案例

需求:在控制台输出1-10000,计算这段代码执行了多少毫秒

public class Test {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int i = 1; i <= 10000; i++) {
            System.out.println(i + " ");
        }

        long end = System.currentTimeMillis();
        System.out.println("共耗时" + (end - start) + "毫秒");
    }
}

 运行结果:

3 Object类的toString方法

3.1 概述

Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有的类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份

3.2 查看源码的方法

● 选中方法:Ctrl + B

3.3 重写toString方法的方式

1 Alt + Insert 选中toString

2 在类的空白区域,右键 -> Generate -> 选择 toString

3.4 toString 方法的作用

以良好的格式,更方便的展示对象中的属性值

示例代码:

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "name:" + name + ", age:" + age;
    }
}


public class Test {
    public static void main(String[] args) {
        Student s1 = new Student("陆沉",23);

        System.out.println(s1);
        System.out.println(s1.toString());
    }
}

运行结果:

4 Object类的 equals 方法

4.1 equals 方法的作用

用于对象之间的比较,返回 true 和 false 的结果

//范例
s1.equals(s2)

 4.2 重写 equals 方法的场景

不希望比较对象的地址值,想要结合对象属性进行比较的时候

4.3 重写equals 方法的方式

 1. alt + insert  选择equals() and hashCode(),IntelliJ Default,一路next,finish即可
 2. 在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。

示例代码:

class Student {
      private String name;
      private int age;
  
      public Student() {
      }
  
      public Student(String name, int age) {
          this.name = name;
          this.age = age;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public int getAge() {
          return age;
      }
  
      public void setAge(int age) {
          this.age = age;
      }
  
      @Override
      public boolean equals(Object o) {
          //this -- s1
          //o -- s2
          if (this == o) return true;
          if (o == null || getClass() != o.getClass()) return false;
  
          Student student = (Student) o; //student -- s2
  
          if (age != student.age) return false;
          return name != null ? name.equals(student.name) : student.name == null;
      }
  }
  public class ObjectDemo {
      public static void main(String[] args) {
          Student s1 = new Student();
          s1.setName("张三");
          s1.setAge(30);
  
          Student s2 = new Student();
          s2.setName("张三");
          s2.setAge(30);
  
          //需求:比较两个对象的内容是否相同
          System.out.println(s1.equals(s2));
      }
  }

运行结果:

 5 Arrays

5.1 常用方法

 5.2 工具类设计思想

1 构造方法用 private 修饰

2 成员用 public static 修饰

6 日期类

6.1 Date类

6.1.1 Date类概述

        Date 代表了一个特定的时间,精确到毫秒

6.1.2 Date类构造方法

 示例代码:

import java.util.Date;

public class MyDate {
    public static void main(String[] args) {
        //public Date():分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
        Date d1 = new Date();
        System.out.println(d1);

        //public Date(long date):分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
        long date = 1000*60*60;
        Date d2 = new Date(date);
        System.out.println(d2);
    }
}

运行结果:

 6.1.3 Date类常用方法

示例代码:

import java.util.Date;

public class MyDate {
    public static void main(String[] args) {
        //创建日期对象
        Date d = new Date();

        //public long getTime():获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值
        //        System.out.println(d.getTime());
        //        System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年");

        //public void setTime(long time):设置时间,给的是毫秒值
        //        long time = 1000*60*60;
        long time = System.currentTimeMillis();
        d.setTime(time);

        System.out.println(d);
    }
}

 运行结果:

 6.2 SimpleDateFormat类

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

6.2.1 SimpleDateFormat类构造方法

6.2.2常用方法

- 格式化(从Date到String)
    - public final String format(Date date):将日期格式化成日期/时间字符串

- 解析(从String到Date)
    - public Date parse(String source):从给定字符串的开始解析文本以生成日期 

示例代码:

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

public class MyDate {
    public static void main(String[] args) throws ParseException {
        //格式化:从 Date 到 String
        Date d = new Date();
        //        SimpleDateFormat sdf = new SimpleDateFormat();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String s = sdf.format(d);
        System.out.println(s);
        System.out.println("--------");

        //从 String 到 Date
        String ss = "2048-08-09 11:11:11";
        //ParseException
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date dd = sdf2.parse(ss);
        System.out.println(dd);
    }
}

运行结果:

6.3 Calendar

6.3.1 概述

Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。

该方法返回一个Calendar 对象。

其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();

6.3.2 Calendar类常用方法

 

public class MyDate {
    public static void main(String[] args) {
        //获取日历类对象
        Calendar c = Calendar.getInstance();

        //public int get(int field):返回给定日历字段的值
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int date = c.get(Calendar.DATE);
        System.out.println(year + "年" + month + "月" + date + "日");

        //public abstract void add(int field, int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段
        //需求1:3年前的今天
        //        c.add(Calendar.YEAR,-3);
        //        year = c.get(Calendar.YEAR);
        //        month = c.get(Calendar.MONTH) + 1;
        //        date = c.get(Calendar.DATE);
        //        System.out.println(year + "年" + month + "月" + date + "日");

        //需求2:10年后的10天前
        //        c.add(Calendar.YEAR,10);
        //        c.add(Calendar.DATE,-10);
        //        year = c.get(Calendar.YEAR);
        //        month = c.get(Calendar.MONTH) + 1;
        //        date = c.get(Calendar.DATE);
        //        System.out.println(year + "年" + month + "月" + date + "日");

        //public final void set(int year,int month,int date):设置当前日历的年月日
        c.set(2050,10,10);
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH) + 1;
        date = c.get(Calendar.DATE);
        System.out.println(year + "年" + month + "月" + date + "日");
    }
}

运行结果:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值