BigInteger代表整数类型,与基本数据类型不同的是,BigInteger表示大整数,可以存储任意大小的整数
| 方法 | 说明 |
|---|---|
| BigInteger(String value) | 可以把字符串整数变成对象 |
常用方法:
| 方法 | 说明 |
|---|---|
| add(BigInteger value) | 加法运算 |
| subtract(BigInteger value) | 减法运算 |
| multiply(BigInteger value) | 乘法运算 |
| divide(BigInteger value) | 除法运算 |
创建对象
BigInteger b1 = new BigInteger("123456789123456789123456789");
BigInteger b2 = new BigInteger("123456789123456789123456789");
//加法运算
//BigInteger b3 = b1.add(b2);
//System.out.println(b3);
System.out.println(b1.add(b2));
//减法运算
System.out.println(b1.subtract(b2));
//乘法运算
System.out.println(b1.multiply(b2));
//除法运算
System.out.println(b1.divide(b2));
BigDecimal表示大小数,这个可以存储任意位数,并且可以做精确小数计算,这个小数的精度最高
| 方法 | 说明 |
|---|---|
| BigDecimal(double val) | 把小数数值变成BigDecimal对象 |
| BigDecimal(String val) | 把字符串值变成BigDecimal对象 |
常用方法:
| 方法 | 说明 |
|---|---|
| BigDecimal add(BigDecimal value) | 加法运算 |
| BigDecimal subtract(BigDecimal value) | 减法运算 |
| BigDecimal multiply(BigDecimal value) | 乘法运算 |
| BigDecimal divide(BigDecimal value) | 除法运算 |
| BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) | 除法运算(除不尽的情况) |
实例代码
直接给double的话因为double是不精确的,所以运算会出错,这里推荐使用字符串,精确度高
BigDecimal b1=new BigDecimal("0.09")
BigDecimal b2=new BigDecimal("0.01")
加法运算
System.out.println(b1.add(b2))
减法运算
System.out.println(b1.subtract(b2))
乘法运算
System.out.println(b1.multiply(b2))
除法运算
System.out.println(b1.divide(b2))
如果是小数除不尽的情况下可以保留小数位数,保留方式可以使四舍五入
//解决办法
// BigDecimal divisor 除数
// int scale 保留小数位数
// RoundingMode roundingMode 保留方式 RoundingMode.HALF_UP四舍五入
System.out.println(b1.divide(b2,2,RoundingMode.HALF_UP))
Arrays表示数组工具类,工具类的所有成员全都是静态的,可以类名直接调用
常用方法
static void sort(int[] a) 对数组进行排序 从小到大
static String toString(int[] a) 把数组转成字符串 方便打印
//创建数组
int[] arr = {21,43,454,6,576,867,8,79,89};
//排序
Arrays.sort(arr);
//打印
System.out.println(Arrays.toString(arr));
在很多地方不能使用基本类型,只能使用引用类型。基本数据类型没有属性也没有方法
| 包装类 | |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer* |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
//new Integer(int value)构造方法
Integer i = new Integer(123);
//new Integer(String s)构造方法
Integer i2 = new Integer("123");
//static Integer valueOf(String s)把字符串变成整数
Integer i3 = Integer.valueOf("123");
//static int parseInt(String s)把字符串变成整数
int i4 = Integer.parseInt("123");
把基本数据类型变成对应的包装类型叫装箱
把包装类型变成对应的基本数据类型叫拆箱
String类是java中最常用的类没有之一
| 方法 | 说明 |
|---|---|
| length() | 获取字符串的长度 |
| charAt() | 根据索引获取一个字符 |
| equals() | 判断两个对象的内容是否相同 |
| concat() | 把两个字符串拼接成一个新字符串 |
| contains() | 判断是否包含某个字符串 |
| endsWith() | 判断是否以指定的字符串结尾 |
| startsWith() | 判断是否以指定的字符串开头 |
| indexOf() | 获取字符/字符串第一次出现的索引 |
| lastIndexOf() | 获取字符/字符串最后一次出现的索引 |
| replace() | 把旧的内容用新的内容替换 |
| substring(int i,int j) | 截取字符串的一部分, 从i 开始到j 结束,包含头不包含尾 |
| substring(int i) | 截取字符串的一部分, 从i 开始截取到最后 |
| toCharArray() | 把字符串变成字符数组 |
| getBytes() | 把字符串变成字节数组 |
| toLowerCase() | 把字符串中的字母转成小写 |
| toUpperCase() | 把字符串中的字母转成大写 |
| trim() | 去掉字符串两端的空白 |
| split() | 按照指定的字符串切割 |
| equalsIgnoreCase() | 忽略大小写判断两个字符串是否相同 |
6、引用类型使用小结
类作为方法参数和返回值
抽象类最为方法参数和返回值 抽象类作为方法参数实际传入的是抽象类的子类对象 抽象类作为返回值类型实际返回的是抽象类的子类对象
接口作为方法参数和返回值 接口作为参数实际传入的是接口的子类对象 接口作为返回实际返回的是接口的子类对象
类、抽象类、接口作为成员变量
原文:https://www.cnblogs.com/gushiye/p/13783161.html