java回顾之类API再体验之引用类型小结
java回顾之类API再体验之引用类型小结
1、BigInteger类
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));
2、BigDecimal类
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))
3、Arrays类
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));
4、基本类型的包装类
4.1、包装类的概述
在很多地方不能使用基本类型,只能使用引用类型。基本数据类型没有属性也没有方法
| 包装类 | |
|---|---|
| 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");
4.2自动装箱和自动拆箱
把基本数据类型变成对应的包装类型叫装箱
把包装类型变成对应的基本数据类型叫拆箱
5、String类
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、引用类型使用小结
类作为方法参数和返回值
抽象类最为方法参数和返回值 抽象类作为方法参数实际传入的是抽象类的子类对象 抽象类作为返回值类型实际返回的是抽象类的子类对象
接口作为方法参数和返回值 接口作为参数实际传入的是接口的子类对象 接口作为返回实际返回的是接口的子类对象
类、抽象类、接口作为成员变量
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号