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、引用类型使用小结

类作为方法参数和返回值

抽象类最为方法参数和返回值   抽象类作为方法参数实际传入的是抽象类的子类对象   抽象类作为返回值类型实际返回的是抽象类的子类对象

接口作为方法参数和返回值    接口作为参数实际传入的是接口的子类对象    接口作为返回实际返回的是接口的子类对象

类、抽象类、接口作为成员变量

 

上一篇:高精度之阶乘


下一篇:java大数四则运算