常用api

1. Scanner类

  1. Scanner scanner = new Scanner(System.in);
  2. int i = scanner.nextInt();

2. 匿名对象

new 类名称();

new Person().name = "xxx";

匿名对象可以作为方法的参数:

int num = new Scanner(System.in).nextInt();

3. Random类

使用,例:带范围取随机数

Randow r = new Random();
int num = r.nextInt(3);
//左闭右开区间

4. ArrayList集合

  1. 对象数组,创建存储对象的数组
    Person[] p = new Person[3];
  2. 概述
    数组长度不可变,ArrayList长度可变。
    Arraylist<E> list = new ArrayList<>();
    注意:E,泛型,只能是引用类型,不能是基础类型
    注意:对于ArrayList集合,直接打印得到的不是地址,而是内容,若内容为空,得到空中括号。
  3. 常用方法
    public boolean add(E e)注意:对ArrayList来说add必定成功,其他array不一定成功。
    public E get(int index);索引从0开始
    public E remove(int index);
    public int size();
  4. 存储基本数据
    使用基本类型对应的包装类。
    从jdk1.5+,支持自动装箱,自动拆箱
    装箱:基本 —> 引用
    拆箱:引用 —> 基本

5. String

  1. 概述
    Java程序中所有的双引号字符串都是String类的对象。
    字符串是常量,创建后不可更改。
    因为字符串不可变,所以可以共享使用,拥有相同内容的字符串享用同一个变量区。
  2. 构造方法 3+1
    String();
    String(char[] array);
    String(byte[] array);
    String str = "";
  3. 字符串常量池
    程序中直接写上的双引号字符串就在字符串常量池中。
  4. 常见方法:
    ==比较地址,equals比较内容。
    public boolean equals(Object obj);
    equalsIgnoreCase(String str);
    length()
    concat(String str)
    charAt(int index)
    indexOf(String str)
    subString(int index)截取参数到末尾
    subString(int begin,int end)截取左闭右开字符
    char[] toCharArray()
    byte[] getBytes()
    replace(CharSequence oldString,CharSequence newString)将所有旧字符串替换为新字符串
    String[] split(String regex);按模式分割。split分割的参数其实是一个正则表达式,若要用‘.’分割必须用‘.’

字符串常量池.jpg

6. 静态

静态修饰成员变量,说明该变量属于该类,而不属于对象。

public static int countId;可在构造时每创建一个对象count自增。

静态内存图如下:

静态代码块:当第一次用到本类时,静态代码块执行唯一一次。用来一次性的对静态成员变量进行赋值。
静态内存图.jpg

7.Arrays

Arrays.toString(arr);

Arrays.sort(srr);默认升序,如果是自定义类型,那么需要有comparable和Compartor接口支持