常用api
1. Scanner类
Scanner scanner = new Scanner(System.in);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集合
- 对象数组,创建存储对象的数组
Person[] p = new Person[3]; - 概述
数组长度不可变,ArrayList长度可变。Arraylist<E> list = new ArrayList<>();
注意:E,泛型,只能是引用类型,不能是基础类型
注意:对于ArrayList集合,直接打印得到的不是地址,而是内容,若内容为空,得到空中括号。 - 常用方法
public boolean add(E e)注意:对ArrayList来说add必定成功,其他array不一定成功。public E get(int index);索引从0开始public E remove(int index);public int size(); - 存储基本数据
使用基本类型对应的包装类。
从jdk1.5+,支持自动装箱,自动拆箱
装箱:基本 —> 引用
拆箱:引用 —> 基本
5. String
- 概述
Java程序中所有的双引号字符串都是String类的对象。
字符串是常量,创建后不可更改。
因为字符串不可变,所以可以共享使用,拥有相同内容的字符串享用同一个变量区。 - 构造方法 3+1
String();String(char[] array);String(byte[] array);String str = ""; - 字符串常量池
程序中直接写上的双引号字符串就在字符串常量池中。 - 常见方法:
==比较地址,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分割的参数其实是一个正则表达式,若要用‘.’分割必须用‘.’
6. 静态
静态修饰成员变量,说明该变量属于该类,而不属于对象。
public static int countId;可在构造时每创建一个对象count自增。
静态内存图如下:
静态代码块:当第一次用到本类时,静态代码块执行唯一一次。用来一次性的对静态成员变量进行赋值。
7.Arrays
Arrays.toString(arr);
Arrays.sort(srr);默认升序,如果是自定义类型,那么需要有comparable和Compartor接口支持
