• 基础类库


    系统相关:

    System类:System类代表当前java程序的运行平台,程序不能创建System类的对象,通过System类直接调用它的变量和方法。System类提供了标准输入,标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量,系统属性,还提供了加载文件和动态链接库的方法。

    Runtime类:Runtime类代表java程序运行时环境,每个java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境连接,应用程序不能自己创建Runtime实例,但可以通过getRuntime()获取与之关联的Runtime对象。

    常用类:

    Object类:所有类,数组,枚举类的父类。

    java7新增Objects工具类:Objects类的方法大多是“空指针安全”,即不会报NullPointException异常,只会返回“null”字符串

    String,StringBuffer和StringBuilder类:java提供两种方式封装字符串,String和StringBuffer。

      String类是不可变类,即String对象不可更改

      StringBuffer对象代表一个可变的字符串,提供append(),inset(),reverse(),setCharAt(),setLength()等方法来改变这个字符串,通过toString()方法转换为String对象

      StringBuilder和StringBuffer基本类似,两者构造器和方法也基本相同,不同的是,StringBuffer是线程安全,StringBuilder不是线程安全

    Math类:除了一堆静态方法,还提供两个类变量PI和E

    ThreadLocalRandom和Random:

      Random类用于生成伪随机数,有两个构造器,一个使用默认的种子(当前时间),一个要传入long型整数作为种子

      ThreadLocalRandom是Random类的增强版,在并发情况下,使用ThreadLocalRandom类来代替Random可以减少多线程资源竞争,保证系统具有更好的线程安全性。用法基本类似,但他提供了静态的current()方法来获取ThreadLocalRandom对象,获得对象后可以调用各种nextxxx()方法来获取伪随机数。

      Random和ThreadLocalRandom都比Math的random()提供了更多的方式来生成随机数

    BigDecimal类:

      大多数语言都有精度丢失问题:0.05+0.01 = 0.060000000000005

      java提供BigDecimal解决这个问题:BigDecimal a = new BigDecimal("0.05");BigDecimal b = new BigDecimal("0.01"); a+b == 0.06

      使用string作为BigDecimal构造器参数,不使用Double,使用Double会出现未知问题,还会精度丢失

  • 相关阅读:
    POJ ACM题分类
    HDU 4438 Hunters (概率 & 期望)
    HDU 1042 N!
    HDU 1073 Online Judge
    PKU 1006 Biorhythms (中国剩余定理 * *)
    HDU 1047 Integer Inquiry
    HDU 2710 Max Factorv (素数模板 & 多种解法)
    HDU A + B Problem II 1002
    第6期(江西省吉安市永丰县)县长手机信箱工作简报(自吹自擂政绩,自圆其说)
    Send mail from ASP.NET using your gmail account
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/6926089.html
Copyright © 2020-2023  润新知