Java基础类库汇总

Java程序的参数

java程序的入口方法:

public static void main(String[] args) {...}

public修饰,让JVM可以直接调用该方法;
static修饰,JVM直接调用这个方法,不需要创建该类的对象
void返回值,不需要返回值,对JVM没有意义

读取用户输入

Scanner sc = new Scanner(System.in);

系统相关类

System类

java.lang.System 类
里面有很多重要的方法。

public static void main(String[] args) throws IOException {
        Map<String, String> env = System.getenv();
        for (String name : env.keySet()) {
            System.out.println(name + " --> " + env.get(name));
        }

        // 获取指定环境变量的值
        System.out.println(System.getenv("JAVA_HOME"));

        Properties prop = System.getProperties();
        // 将所有的系统属性保存到文件中去
        prop.store(new FileOutputStream("prop.txt"), "System properties");

        // 获取指定的系统属性
        System.out.println(System.getProperty("os.name"));

        System.out.println(System.currentTimeMillis());
    }

Runtime类

代表Java程序的运行时环境。每个Java程序都有一个与之对应的Runtime实例。

常用类

Object类

是所有类、数组、枚举类的父类。
Java允许把任何类型的对象赋值给Object类型的变量。
当定义一个类时,没有使用extends关键字为它显式指定父类,则该类默认继承Object父类。
任何Java对象,都可以调用Object类的方法。需要熟悉Object类中常用的一些方法。

boolean equals(Object obj)
protected void finalize()
Class<?> getClass()
int hashCode()
String toString()
wait()
notify()
notifyAll()

Object常用方法有:toString()、equals()、hashCode()、clone()、getClass()等。

  • toString:默认输出对象地址。可以重写toString方法,按照重写逻辑输出对象值。
  • equals:默认比较两个引用变量是否指向同一个对象(内存地址)。
  • hashCode:将与对象相关的信息映射成一个哈希值,默认的实现hashCode值是根据内存地址换算出来。
  • clone:可以实现对对象中各个属性的复制。
  • getClass:返回此 Object 的运行时类,常用于java反射机制。
  • wait:当前线程调用对象的wait()方法之后,当前线程会释放对象锁,进入等待状态。等待其他线程调用此对象的notify()/notifyAll()唤醒或者等待超时时间wait(long timeout)自动唤醒。线程需要获取obj对象锁之后才能调用 obj.wait()。
  • notify:唤醒在此对象上等待的单个线程,选择是任意性的。notifyAll()唤醒在此对象上等待的所有线程。

Objects类

Java 7新增的工具类,提供了一些工具方法来操作对象。

String类

关于String类的介绍,可以查看我的另一篇博客:

Java String总结

Math类

Math工具类来完成复杂的运算。

Java7 的ThreadLocalRandom与Random

Random类,从JDK 1.0就有;生产一个伪随机数(通过相同的种子,产生的随机数是相同的)。
ThreadLocalRandom类,从JDK 1.7才有;是Random的子类,在多线程并发情况下,ThreadLocalRandom相对于Random可以减少多线程资源竞争,保证了线程的安全性。public class ThreadLocalRandom extends Random因为构造器是默认访问权限,只能在java.util包中创建对象,故提供了一个方法ThreadLocalRandom.current()用于返回当前类的对象.

BigDecimal类

使用float、double两种基本浮点类型时,容易引起精度丢失。为了能精确的表示浮点数,Java提供了BigDecimal类。

使用的话,注意如下:

  1. 不推荐使用BigDecimal(double val) 构造函数,例如 new BigDecimal(0.1),它的值并不是0.1,它实际上等于一个近似0.1的值
  2. 优先建议使用基于String的构造函数
  3. 如果必须使用double 浮点数作为BigDecimal构造器的参数时,不要直接作为构造器的参数,而应该使用BigDecimal.valueOf(double val)静态方法来创建BigDecimal对象
public class BigDecimalTest {

    public static void main(String[] args) {
        // 基于String的构造器
        BigDecimal f1 = new BigDecimal("0.05");
        // 通过静态方法来创建BigDecimal对象
        BigDecimal f2 = BigDecimal.valueOf(0.01);

        // 使用double创建Decimal对象
        BigDecimal f3 = new BigDecimal(0.05);

        // 加
        System.out.println(f1.add(f2));

        // 减
        System.out.println(f1.subtract(f2));

        // 乘
        System.out.println(f1.multiply(f2));

        // 除
        System.out.println(f1.divide(f2));

        System.out.println("下面操作使用double创建Decimal对象");
        // 加
        System.out.println(f3.add(f2));

        // 减
        System.out.println(f3.subtract(f2));

        // 乘
        System.out.println(f3.multiply(f2));

        // 除
        System.out.println(f3.divide(f2));


        // 幂次方运算
        // 0.05 * 0.05 * 0.05
        System.out.println(f1.pow(3));

    }
}

Java日期、时间类

Java日期和时间类总结

格式化日期、时间类

Java日期和时间格式器总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值