====================
Object: 它是所有类的超类,祖宗类
java中所有的类都直接或间接的继承这个类
方法(都要了解)
public int hashCode() 返回当前对象的哈希码值,理解为对象的地址值
public String toString() 返回当前对象中的内容, 对于Object类默认操作来说,返回的包名.类名@哈希码值--地址值
public boolean equals(Object obj) 比较两个对象内容是否相同, 对于Object类默认操作来说,比较的是地址值。
我们的类如果没有重写,用的就是Object定义的内容。
如果重写toString(),当我们输出对象的时候,调用toString()展示(成员属性)内容.
如果重写equals(),改变了比较的规则,现在比较内容(成员属性)。
Objects: Objects是一个工具类,提供了一些方法可以对任意对象进行操作。
主要方法如下
=======工具类=
Math: 数学工具类
public static double max(double a, double b)返回两个 double 值中较大的一个
public static double min(double a, double b)返回两个 double 值中较小的一个
public static double random() 返回 0.0<=x<1.0 之间的随机小数
public static long round(double a) 四舍五入
public static double ceil(double d);向上取整
public static double floor?(double a);向下取整
public static double pow?(double a,double b) 返回a的b次幂的值
public static int abs?(int a) 获取参数绝对值
System:系统类
方法:
*public static void exit(int status)
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止
*public static long currentTimeMillis()
返回当前系统时间的毫秒值
Arrays 工具类
A:是针对数组进行操作的工具类。包括排序和查找等功能。
B:要掌握的方法
public static void sort(数组)用来对指定数组中的元素进行排序(元素值从小到大进行排序
public static int binarySearch(int[] arr,int key) 在指定数组中,查找给定元素值出现的位置。若没有查询到,返回位置为负数
public static String toString(数组)
用来返回指定数组元素内容的字符串形式
public static int[] copyOfRange(类型[]?arr, 起始索引, 结束索引)
拷贝数组(指定范围)
public static 类型[] copyOf(类型[]?arr, int?newLength)
拷贝数组
BigDecimal:用于解决浮点型运算时,出现结果失真的问题。
1.构造方法:
public BigDecimal(String val):
作用: 把构造方法参数String类型的val,转换成BigDecimal类的对象
参数: 必须是String类型的数字,内部不能出现非数字内容
public BigDecimal(double val):
作用: 把构造方法参数double类型的val,转换成BigDecimal类的对象
2.常用方法:
数学运算中最常用的就是+,-,*,/,所以对于BigDecimal类提供了对应的方法
public static BigDecimal valueOf(double val) 转换一个 double成 BigDecimal
public BigDecimal add(BigDecimal b) 加法
public BigDecimal subtract(BigDecimal b) 减法
public BigDecimal multiply(BigDecimal b) 乘法
public BigDecimal divide(BigDecimal b) 除法
public?double?doubleValue() 将BigDecimal转换为double
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式) 除法、可以控制精确到小数几位
对于 除法 运算,可能会出现 无限循环/无限不循环的结果
然而BigDecimal是用来完成超级精确的数学运算,这样就导致
BigDecimal不知道到底给你什么样的结果?
解决方案:
(1)告诉它保留多少位小数
(2)如何保留小数
public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode):
按照方法参数指定的保留位数以及保留方式做除法运算
参数:
int scale: 要保留几位小数
int roundingMode: 如何保留小数
BigDecimal.ROUND_UP 向上加1。
BigDecimal.ROUND_DOWN 直接舍去。
BigDecimal.ROUND_HALF_UP 四舍五入。
====================
String: 字符串类(重点)
字符串是常量;它们的值在创建之后不能更改
构造方法:(掌握,重点是能知道什么意思)
public String() 空参数构造方法
public String(String original) 就是字符串字面值,封装成对象
//下面方法做为一个了解...因为会在以后IO的代码中会看到使用
public String(byte[] bytes) 把字节数组转换字符串
public String(byte[] bytes, int startIndex, int length) 把字节数组一部分元素 转换成字符串
public String(char[] value) 把字符数组 转换成字符串
public String(char[] value, int startIndex, int count) 把字符数组一部分元素 转换成字符串
String方法:
判断功能()
boolean equals(Object obj) 判断两个字符串中的内容是否相同*****
boolean equalsIgnoreCase(String str) 判断两个字符串中的内容是否相同, 忽略大小写
boolean contains(String str) 判断该字符串中 是否包含给定的字符串
boolean startsWith(String str) 判断该字符串 是否以给定的字符串开头
boolean endsWith(String str) 判断该字符串 是否以给定的字符串结尾
boolean isEmpty() 判断该字符串的内容是否为空的字符串 ""
获取功能:
int length() 获取该字符串的长度 *****
char charAt(int index) 获取该字符串中指定位置上的字符
String substring(int start) 从指定位置开始,到末尾结束,截取该字符串,返回新字符串 *****
String substring(int start,int end) 从指定位置开始,到指定位置结束,截取该字符串,返回新字符串
//下面是关于索引的一些查询 这个不作为掌握 但是要了解字符串中有这样的功能
int indexOf(int ch ) 获取给定的字符,在该字符串中第一次出现的位置
int indexOf(String str) 获取给定的字符串,在该字符串中第一次出现的位置
int indexOf(int ch,int fromIndex) 从指定位置开始,获取给定的字符,在该字符串中第一次出现的位置
int indexOf(String str,int fromIndex) 从指定位置开始,获取给定的字符串,在该字符串中第一次出现的位置
转换功能:
byte[] getBytes() 把该字符串 转换成 字节数组
char[] toCharArray() 把该字符串 转换成 字符数组
//下面的方法 知道有就可以了
String toLowerCase() 把该字符串转换成 小写字符串
String toUpperCase() 把该字符串转换成 大写字符串
String concat(String str) 把该字符串与给定的字符串相连接,返回一个新的字符串
替换功能
String replace(char old,char new) 在该字符串中,将给定的旧字符,用新字符替换
String replace(String old,String new) 在该字符串中, 将给定的旧字符串,用新字符串替换
去除字符串两空格
String trim() 去除字符串两端空格,中间的不会去除,返回一个新字符串
===========================
字符串操作便捷类
StringBuffer/StringBuilder:(理解)
是可变字符串对象,表示一个容器,可以操作字符串。
场景:用于大量的字符串拼接操作。
构造方法:
public StringBuffer() 创建一个字符串缓冲区,默认容量大小16
public StringBuffer(String str) 创建一个字符串缓冲区,指定默认内容为 str 的内容,长度为 字符串str的长度 + 16
方法:
*** public StringBuffer append(String str) 在原有字符串缓冲区内容基础上,在末尾追加新数据
public StringBuffer insert(int offset,String str) 在原有字符串缓冲区内容基础上,在指定位置插入新数据
public StringBuffer deleteCharAt(int index) 在原有字符串缓冲区内容基础上,删除指定位置上的字符
public StringBuffer delete(int start,int end) 在原有字符串缓冲区内容基础上,删除指定范围内的多个字符
public StringBuffer replace(int start,int end,String str)在原有字符串缓冲区内容基础上,将指定范围内的多个字符 用给定的字符串替换
*** public StringBuffer reverse() 将字符串缓冲区的内容 反转 "abc"----"cba"
public String substring(int start) 从指定位置开始,到末尾结束,截取该字符串缓冲区,返回新字符串
public String substring(int start,int end) 从指定位置开始,到指定位置结束,截取该字符串缓冲区,返回新字符串
StringJoiner
JDK8新出的api 也是表示可变字符串对象,表示容器,可以操作字符串。
场景:用于大量拼接字符串且需要分隔符。
构造:
public StringJoiner (间隔符号)
创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner (间隔符号,开始符号,结束符号)
创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号
方法:
public StringJoiner add (添加的内容)
添加数据,并返回对象本身
public int length?()
返回长度 ( 字符出现的个数包含分隔符)
public String toString?()
返回一个字符串(该字符串就是拼接之后的结果)