2023/6/8总结

文章详细介绍了Java中的Object类,它是所有类的顶级父类,提供了如无参构造方法等基础功能。此外,文章还讲解了对象克隆的概念,包括浅克隆和深克隆。接着,重点讨论了BigInteger类,用于处理极大的整数,并列举了其常用方法,如不同方式的构造、加法、除法、比较和次幂运算等。同时,提到了将BigInteger对象转换为基本数据类型的注意事项。
摘要由CSDN通过智能技术生成

Object

object是]ava中的顶级父类。所有的类都直接或间接的继承于object类

object类中的方法可以被所有子类访问,所以我们要学习object类和其中的方法

 顶级父类中只有无参构造方法

 

 示例代码:

 对象克隆

 分为浅克隆和深克隆

 

 BigInteger

可以理解为极大的整数,几乎可以说没有上限

 

 注意:对象一旦创建,内部记录的值不能发生改变!

 

 常用方法:

 注意: 对象不能直接加减乘除要用方法来完成!!

 示例代码:

import java.math.BigInteger;
import java.util.Random;

public class BigIntegerDemo1 {
    public static void main(String[] args) {
        //1.获取一个随机大的整数
        BigInteger bd1=new BigInteger(4,new Random());
        System.out.println(bd1);//0~2^4-1

        //2.获取一个指定大的大整数
        //字符串中必须是整数,否则会报错
        BigInteger bd2=new BigInteger("1000");
        System.out.println(bd2);

        //3.获取指定进制的大整数
        //细节:
        //1.字符串中的数字必须是整数
        //2.字符串中的数字必须要和进制吻合
        //比如二进制中,只能有0和1,写其他的就会报错
        BigInteger bd4=new BigInteger("100",2);
        System.out.println(bd4);

        //4.静态方法获取BigInteger的对象,内部有优化
        //细节:
        //表示范围较小,在long的取值范围之类,如果超出long的范围就不行了
        //long:9223372036854775807
        //2.在内部对常用的数字:-16~16进行了优化
        //提前把-16~16先创建好BigInteger的对象,如果多次获取不会重新创建新的
        BigInteger bd5 = BigInteger.valueOf(100);
        System.out.println(bd5);

        //System.out.println(Long.MAX_VALUE);

        //使用方法
        BigInteger bd6=BigInteger.valueOf(10);
        BigInteger bd7=BigInteger.valueOf(3);

        //加法
        BigInteger bd8=bd7.add(bd6);
        System.out.println(bd8);

        //除法,获取商和余数
        BigInteger[] arr=bd6.divideAndRemainder(bd7);
        System.out.println(arr[0]);
        System.out.println(arr[1]);

        //比较是否相同
        boolean result=bd6.equals(bd7);
        System.out.println(result);

        //次幂
        BigInteger bd9 = bd6.pow(2);
        System.out.println(bd9);

        //max,返回较大者,没有创建新的对象
        BigInteger bd10 = bd6.max(bd7);
        System.out.println(bd10);

        //转换为基本数据类型,超出范围报错
        BigInteger bd11 =BigInteger.valueOf(1000);
        int i=bd11.intValue();
        System.out.println(i);


    }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值