1.String
String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用。
①String简单概述
- java.lang.String类代表字符串,String类定义的变量可以用于指定字符串对象,然后操作该字符串。
- Java程序中的所有字符串文字(例如 “abc”)都为此类的对象。
- String其实常被称为不可变字符串类型,它的对象在创建后不能更改。
- String变量每次的修改其实都是产生并指向了新的字符串对象。
-
②创建字符串的两种方式
方式一:直接使用 “ “ 定义。(推荐)
- 方式二:通过String类的构造器创建对象。 | 构造器 | 说明 | | —- | —- | | public String() | 创建一个空白字符串对象,不含有任何内容 | | public String (String original) | 根据传入的字符串内容,来创建字符串对象 | | public String(char[ ] chs) | 根据字符数组的内容,来创建字符串对象 | | public String(byte[ ] chs) | 根据字节数组的内容,来创建字符串对象 |
- 字符串内容比较不适用“==”。
- 推荐使用String类提供的“equals”比较:只关心内容一样即可。 | 方法名 | 说明 | | —- | —- | | public Boolean equals(Object anObject) | 将此字符串与指定对象进行比较,只关心字符内容是否一致 | | public Boolean equalsIgnoreCase(String anotherString) | 将此字符串与指定对象进行比较 ,忽略大小写比较字符串。只关心字符内容是否一致。 |
④String常用API
- index(从0开始) | 方法名 | 说明 | | —- | —- | | public int length() | 返回此字符串的长度 | | public char charAt(int index) | 获取某个索引位置处的字符 | | public char[ ] toCharArray(): | 将当前字符串转换成字符数组返回 | | public String substring(int beginIndex , int endIndex) | 根据开始和结束索引进行截取,得到新的字符串(包前不包后) | | public String substring( int beginIndex) | 从传入的索引处截取,截取到末尾,得到新的字符串 | | public String replace(CharSequence target , CharSequence replacement) | 使用新值,将字符串中的旧值替换,得到新的字符串 | | public boolean contains(CharSequence s) | 当且仅当此字符串包含指定的字符值序列时,才返回 true。 | | public boolean startsWith(String prefix) | 测试此字符串是否以指定的前缀开头。 | | public String[ ] split(String regex) | 根据传入的规则切割字符串,得到字符串数组返回 |
2ArrayList
①ArrayList集合概述
- ArrarList代表的是集合类,集合是一种容器,与数组类似,不同的是集合的大小是不固定的。
- 通过创建ArrayList的对象表示得到一个集合容器,同时ArrayList提供了比数组更好用,更丰富的API(功能)给程序员使用。
- 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定。
- 集合非常适合做元素个数不确定,且要进行增删操作的业务场景。
- 集合提供了许多丰富、好用的功能,而数组的功能很单一。
②ArrayList集合使用
- ArrayList是集合的一种,它支持索引。
**ArrayList list = new ArrayList();//创建一个集合**
**public Boolean add(E e) | list.add(添加内容);**
**public void add(int index,E element) | list.add(添加位置(索引), 添加内容);**
③ArrayList泛型概述
- ArrayList
:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。(E:数据类型) - 集合中只能储存引用数据类型,不支持基本数据类型。
**ArrayList<数据类型> list = new ArrayList<>();**
④ArrayList常用API、遍历
方法名称 | 说明 |
---|---|
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中元素的个数 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public boolean remove(Object o) | 删除指定元素,返回删除是否成功 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
-
3.Object
Object类的方法是一切子类对象都可以直接使用的,所以我们要学习Object类的方法。
- 一个类要么默认继承了Object类,要么间接继承了Object类,Object类是Java中的祖宗类。 | 方法名 | 说明 | | —- | —- | | public String toString() | 默认是返回当前对象在堆内存中的地址信息:类的全限名@内存地址 | | public boolean equals(Object o) | 默认是比较当前对象与另一个对象的地址是否相同,相同返回true,不同返回false |
①toString
父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息。
②equals
- 默认是与另一个对象比较地址是否一样
-
③Objects
Objects是一个工具类,提供了一些方法去完成一些功能。
使用Objects的equals方法在进行对象的比较会更安全。
4.StringBuilder
StringBuilder是一个可变的字符串类,我们可以把它看成是一个对象容器。
- 作用:提高字符串的操作效率,如拼接、修改等。
StringBuilder构造器
名称 | 说明 |
---|---|
public StringBuilder() | 创建一个空白的可变的字符串对象,不包含任何内容 |
public StringBuilder(String str) | 创建一个指定字符串内容的可变字符串对象 |
StringBuilder方法
方法名称 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据并返回StringBuilder对象本身 |
public StringBuilder reverse() | 将对象的内容反转 |
public int length() | 返回对象内容长度 |
public String toString() | 通过toString()就可以实现把StringBuilder转换为String |
- String :内容是不可变的、拼接字符串性能差。
- StringBuilder:内容是可变的、拼接字符串性能好、代码优雅。
- 定义字符串使用String
- 拼接、修改等操作字符串使用StringBuilder
5.Math
- 包含执行基本数字运算的方法,Math类没有提供公开的构造器。
- 如何使用类中的成员呢?看类的成员是否都是静态的,如果是,通过类名就可以直接调用 | 方法名 | 说明 | | —- | —- | | public static int abs(int a) | 获取参数绝对值 | | public static double ceil(double a) | 向上取整 | | public static double floor(double a) | 向下取整 | | public static int round(float a) | 四舍五入 | | public static int max(int a,int b) | 获取两个int值中的较大值 | | public static double pow(double a,double b) | 返回a的b次幂的值 | | public static double random() | 返回值为double的随机值,范围[0.0,1.0) |
6.System
- System也是一个工具类,代表了当前系统,提供了一些与系统相关的方法。 | 方法名 | 说明 | | —- | —- | | public static void exit(int status) | 终止当前运行的 Java 虚拟机,非零表示异常终止 | | public static long currentTimeMillis() | 返回当前系统的时间毫秒值形式 | | public static void arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数) | 数组拷贝 |
7.BigDecimal
- 用于解决浮点型运算精度失真的问题
创建对象BigDecimal封装浮点型数据(最好的方式是调用方法)**public static BigDecimal valueOf(double val):包装浮点数成为BigDecimal对象。**
方法名 | 说明 |
---|---|
public BigDecimal add(BigDecimal b) | 加法 |
public BigDecimal subtract(BigDecimal b) | 减法 |
public BigDecimal multiply(BigDecimal b) | 乘法 |
public BigDecimal divide(BigDecimal b) | 除法 |
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式) | 除法 |
8.Arrays
方法名 | 说明 |
---|---|
public static String toString(类型[] a) | 返回数组的内容(字符串形式) |
public static void sort(类型[] a) | 对数组进行默认升序排序 |
public static |
使用比较器对象自定义排序 |
public static int binarySearch(int[] a, int key) | 二分搜索数组中的数据,存在返回索引,不存在返回-1 |
自定义排序规则
设置Comparator接口对应的比较器对象,来定制比较规则。
- 如果认为左边数据 大于 右边数据 返回正整数
- 如果认为左边数据 小于 右边数据 返回负整数
- 如果认为左边数据 等于 右边数据 返回0