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);
}
}