JAVA学习笔记-DAY10

1· Object 的一些知识总结

        Object是java中的顶级父类,所有类都直接或间接继承于Object类

             

   public Object()  空参构造

             返回字符串

 public toString()  返回字符串
     默认情况下,Objeect类中的toString方法返回的是地址值。
      返回属性值的方法: 重写toString方法

                比较方法

public equals()  比较方法
        //默认情况下,equals比较地址值,如果想要比较属性值,重写
        //字符串中的equals ,要先判断参数是否为字符串,如果不是字符串直接返回false
        //StringBuilder 中不含equals方法,因此调用时默认返回Object中的equals方法.
       public boolean equals(Object o){
            if(this==o)return true;
           if(o==null || getClass()!=p.getClass()) return false;
           Student stu=(Student) o;
            return age==stu.age && Objects.equals(name,stu.name) ;
        }

        对象拷贝        

public clone(){}      对象拷贝
        //如果一个接口里面没有抽象方法,表示当前的接口是一个标记性接口;
        //Cloneable 表示一旦实现,当前类的对象就可以被克隆。
        //调用克隆方法时,需要先重写 clone方法,然后实现Cloneable接口,创建原对象并调用clone。
        //浅克隆: 无论对象内部属性是基本数据类型还是引用数据类型,都完全拷贝过来。
       Object 中的克隆是浅克隆

        //深克隆: 基本数据类型拷贝;字符串复用;引用数据类型会重新创建新的。

        判空方法

public static boolean inNull(Object obj)  判断对象是否为null,为null返回true:
 public static boolean nonNull(Object obj)  判断对象是否为null,跟isnull结果相反

        输出语句的解析

 System.out.println();
    System:类名 out: 静态变量
        //System.out: 获取打印的对象   println(): 方法
//        参数:表示打印的内容
        //核心逻辑: 当我们打印一个对象的时候,底层会调用对象的toString 方法,把对象变为字符串
       

        获取随机大整数

public BigInteger(String val)  获取指定的大整数
  BigInteger bd2=new BigInteger("99999999999999999999999");//字符串只能为整数
   public BigInteger(String val,int radix)  获取制定进制的大整数
//              字符串中的数字必须符合要求的进制
                BigInteger bd3=new BigInteger("100",2);
                System.out.println(bd3);
     public static BigInteger valueOf(long val)  静态方法获取BigInteger的对象
                //取值在long范围,在内部,对常用数字 -16~16进行优化,提前创建好Biginteger的对象,多次获取不会重新创建新的.
                BigInteger bd4=BigInteger.valueOf(100);
//          注意:对象一旦创建,里面的数据不能发生改变
        System.out.println(bd4);

        BigInteger的成员方法:(对象是不能直接用运算符号操作,需要调用不同的方法)

public BigInteger add(BigInteger val)   加法
          BigInteger bd1=BigInteger.valueOf(1);
          BigInteger bd2=BigInteger.valueOf(2);
//          BigInteger bd3=bd1.add(bd2);
//        public BigInteger subtract(BigInteger val)   减法
//        public BigInteger multiply(BigInteger val)   乘法
//        public BigInteger divide(BigInteger val)   除法,获取商
//        public BigInteger[] divideAndRemainder(BigInteger val)   除法,获取商和余数
        BigInteger[] bigIntegers = bd1.divideAndRemainder(bd2);
        System.out.println(bigIntegers.length);
//          public  boolean equals(Object x)  比较是否相同
//          public BigInteger pow(int exponent)   次幂
//          public BigInteger max/min(BigInteger val)  返回较大/较小值
//            public int intValue(BigInteger val)     转为int类型整数,超出范围数据出错

        BigDecimal:用来表示很大的小数;用于解决小数运算精度失真问题

 BigDecimal:表示较大的小数;用来表示很大的小数;用于解决小数运算精度失真问题;
        //通过传递字符串表示的小数
        BigDecimal bd5=new BigDecimal("0.01");
        System.out.println(bd5);
        //通过静态方法获取对象
        BigDecimal bd6=BigDecimal.valueOf(10);
        System.out.println(bd6);

        //在内部,对常用数字 0~10之间的整数进行优化,提前创建好BigDecimal的对象,多次获取不会重新创建新的.

//        BigDecimal 常见方法:大多与BigInteger 相同
//            BigDecimal bd7=bd1.divide(bd5, 2,RoundingMode.HALF_UP); //四舍五入
            //当不能整除时,会报错.需要精确位数
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值