Java基础类库使用

1.Scanner 类

例:Scanner sc = new Scanner(System.in);
sc.useDelimiter("\n");   // 把回车当作分隔符,Scanner 使用空白符作为分隔符;
hasNextXxx();  是否还有下一个输入项,判断字符串,直接使用 hasNext()
nextXxx();     获取下一个输入项;

行读取
boolean hasNextLine(); 返回输入源是否还有下一行;
String nextLine();     返回输入源中下一行的字符串;

读取文件输入
Scanner sc = new Scanner(new File("ScannerFileTest.java"));

2.System 类

类变量:标准输入,标准输入,错误输出;
类方法:访问环境变量,系统属性(native 方法),加载文件和动态链接库;

System.getenv();  获取系统环境变量
System.getProperties();  获取所有系统属性
System.getProperty();    获取特定属性;

System.currentTimeMillis(); 获取当前时间:毫秒
System.nanoTime();          获取当前时间:纳秒

System.identityHashCode(Object x)方法     返回指定对象的精确 hashCode 值

3.Runtime 类

getRuntime();  获取与之关联的 Runtime 对象;
load(String filename);   加载文件;
loadLibrary(String libname);    加载动态链接库;

4.Object 类

boolean equals(Object obj)   判断指定对象与该对象是否相等;
protected void finalize()    清理资源;
Class<?> getClass()          返回该对象的运行时类;
int hashCode()               返回该对象的 hashCode 值;
String toString()            返回该对象的字符串表示;

wait(),notify(),notifyAll()  控制线程的暂停和运行;

clone()                      帮助对象实现自我克隆;

    1.自定义类实现 Cloneable 接口;接口里无任何方法;
    2.自定义类实现自己的 clone() 方法;
    3.实现 clone() 方法时通过 super.clone();调用 Object 实现的 clone() 方法来得到该对象的副本,并返回该副本;

    只克隆所有成员变量值,不会对引用类型的成员变量值所引用的对象进行克隆;

Objects 工具类

    空指针安全

5.String StringBuffer StringBuilder 类

String 类是不可变类;
StringBuffer 对象代表一个字符序列可变的字符串;
StringBuilder 性能略高;

String 类 
    1.String();                                          0 个字符串
    2.String(char[] value, int offset, int count);       将指定的字符数组从 offset 开始,长度为 count 的字符元素连缀成字符串;
    3.String(String original);                           根据字符串直接量创建对象;
    4.String(StringBuffer buffer);                       
    5.String(StringBuilder buider);

    6.char charAt(int index);                            获取字符串中指定位置; 0~length()-1;
    7.int compareTo(String anotherString);               相等返回 0,不同返回 字符差,长度差;
    8.String concat(String str);                         +
    9.boolean contentEquals(StringBuffer sb);            进行比较,包含字符序列相同返回 true;
    10.static String copyValueOf(char[] data);           将字符数组连缀成字符串;
    11.static String copyValueOf(char[] data, int offset, int count);
    12.boolean endsWith(String suffix);                  返回该 String 对象是否以 suffix 结尾;
    13.boolean equals(Object obj);
    14.boolean equalsIgnoreCase(String str);             忽略字符大小写;
    15.void getChar(int srcBegin, int srcLast, char[] dst, int disBegin);
    16.int indexOf(int ch);                              ch字符在该字符串中第一次出现的位置;
    17.int indexOf(int ch, int fromIndex);               ch字符在该字符串中从 fromIndex 第一次出现的位置;
    18.int indexOf(String str);
    19.int indexOf(String str, int fromIndex);
    20.int lastIndexOf(int ch);                          ch字符在该字符串中最后一次出现的位置;
    21.int lastIndexOf(int ch, int fromIndex);           ch字符在该字符串中从 fromIndex 最后一次出现的位置;
    22.int lastIndexOf(String str);
    23.int lastIndexOf(String str, int fromIndex);
    24.int length();                                     返回当前字符串长度;
    25.String replace(char oldChar, char newChar);       将字符串第一个 oldChar 替换为 newChar;
    26.boolean startsWith(String prefix);                该 String 对象是否以 prefix 开始;
    27.boolean startsWith(String prefix, int toffset);   该 String 对象从 toffset 算起是否以 prefix 开始;
    28.String substring(int beginIndex);                 获取从 beginIndex 位置开始到结束的子字符串;
    29.String substring(int beginIndex, int endIndex);   获取从 beginIndex 位置开始到 endIndex 的子字符串;
    30.char[] toCharArray();                             将 String 对象转换成 char 数组;
    31.String toLowerCase();                             将字符串转换成小写;
    32.String toUpperCase();                             将字符串转换成大写;
    33.static String valueOf(X x);                       将基本类型转换为 String 对象;

6.Math 类

类变量: PI 和 E
类方法:

三角运算:
    toDegrees();        弧度转角度;
    toRadians();        角度转弧度;
    acos();             反余弦;
    asin();             反正弦;
    atan();             反正切;
    cos();              三角余弦;
    cosh();             双曲余弦;
    sin();              正弦;
    sinh();             双曲正弦;
    tan();              三角正切;
    tanh();             双曲正切;
    atan2();            转极坐标;

取整运算:
    floor();            小于目标数的最大整数;
    ceil();             大于目标数的最小整数;
    round();            四舍五入取整;

乘方,开方,指数运算:
    sqrt();             平方根;
    cbrt();             立方根;
    exp();              e的n次幂;
    hypot();            sqrt(x2+y2);
    pow();              计算乘方;
    log();              乘方;
    log10();            自然对数;

符号相关:
    abs();              绝对值;
    copySign();         返回带有第二个浮点数符号的第一个浮点数参数;
    signum();

大小相关:
    max();
    min();
    random();           伪随机数,0~1;

7.Random 类 ThreadLocalRandom

Random 构造器:
    默认种子;
    显式传入 long 型整数种子;

    Random rand = new Random();
    rand.nextXxx();

    推荐:
        Random rand = new Random(System.currentTimeMillis());

ThreadLocalRandom 

    ThreadLocalRandom rand = ThreadLocalRandom.current();

8.BigDecimal 类

BigDecimal(String val);                 优先使用;
BigDecimal.valueOf(double value);       

add();          +
subtract();     -
multipy();      *
divide();       /
pow();

9.Data 类

Data();
Data(long data);
long getTime();
void setTime(long time);

10.Calendar 类
抽象类

子类 GregorianCalendar 类;
静态 getInstance() 方法,TimeZone,Locale 类获取实例;

与 Data 转换:
Calendar calendar = Calendar.getInstance();
Data data = calendar.getTime();
calendar.setTime(data);

方法:  field 是类变量,Calendar.YEAR  Calendar.MONTH....
    void add(int field, int amount);            能进位,修正
    int get(int field);
    int getActualMaximun(int field);            返回指定日历字段拥有的最大值;
    int getActualMinimun(int field);            返回指定日历字段拥有的最小值;
    void roll(int field, int amount);           不能进位,修正
    void set(int field, int value);
    void set(int year, int month, int data);
    void set(int year, int month, int data, int hour, int minute, int second);

    关闭容错性:
        setLenient(false);

11.正则表达式

合法字符: x \0mnn   \xhh    \uhhhh    \t    \n   \r    \f   \a   \e    \cx

特殊字符:
    $      匹配一行结尾;
    ^       匹配一行开头;
    ()      标记子表达式开始结束位置;
    []      中括号表达式开始结束位置;
    {}      标记前面子表达式的出现频度;
    *       指定前面子表达式可以出现零次或多次;
    +       指定前面子表达式可以出现一次或多次;
    ?       指定前面子表达式可以出现零次或一次;
    .       匹配除换行符 \n 之外任何单字符;
    \       转义下一个字符;
    |       指定两项之间任选一项;

预定义字符:(通配符)
    .       匹配任何字符;
    \d      匹配 0~9 数字;
    \D      匹配非数字;
    \s      匹配空白符;
    \S      匹配非空白符;
    \w      匹配单词字符;
    \W      匹配非单词字符;

方括号表达式:
    枚举      [abc]
    范围 -        [a-f]
    求否 ^        [^abc]
    与运算 &&   [a-z&&[def]]
    并运算         [a-d[m-p]]

    中文字符    [\\u0041-\\u0056]

圆括号表达式:
    (|)     

边界匹配符:
    ^       行的开头;
    $      行的结尾;
    \b      单词的边界;
    \B      非单词的边界;
    \A      输入的开头;
    \G      前一个匹配的结尾;
    \Z      输入的结尾;仅用于最后的结束符;
    \z      输入的结尾;

数量标识符:
    贪婪模式(Greedy)    勉强模式(Reluctant)     占用模式(Possessive)
    X?                  X??                     X??                     X 表达式出现零次或一次;
    X*                  X*?                     X*?                     X 表达式出现零次或多次;
    X+                  X+?                     X+?                     X 表达式出现一次或多次;
    X{n}                X{n}?                   X{n}?                   X 表达式出现n次;
    X{n,}               X{n,}?                  X{n,}?                  X 表达式最少出现n次;
    X{n,m}              X{n,m}?                 X{n,m}?                 X 表达式最少出现n次,最多出现m次;


使用正则表达式:
    Pattern  和  Matcher   多个 Matcher 对象可共享一个 Pattern 对象;
        Pattern p = Pattern.compile("a*b");
        Matcher m = p.matcher("aaaab");
        boolean b = m.matches();

        boolean b = Pattern.matches("a*b", "aaaab");

    Matcher 方法:
        find()          返回目标字符串中是否包含与 Pattern 匹配的字串;
        group()         返回上一次与 Pattern 匹配的子串;
        start()         返回上一次与 Pattern 匹配的子串在目标字符串中的开始位置;
        end()           返回上一次与 Pattern 匹配的子串在目标字符串中的开始位置+1;
        lookingAt()     返回目标字符串前面部分与 Pattern 是否匹配;
        matches()       返回整个目标字符串与 Pattern 是否匹配;
        reset()         将现有 Matcher 对象应用于一个新的字符序列;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值