包装类(代码部分只讲解Integer类,其它的都类似)

一、包装类的定义及分类:

1.简单定义:

2.包装类的分类

二.Integer的概述及使用

1.Integer类的常用常量

2.Integer的常用方法

3.创建Integer类,将int转为integet(从int类型转换为integer对象的过程,叫做装箱)

4.将integer转为int(从integer对象转换为int类型的过程,叫做拆箱)

三、自动装箱与拆箱

1.自动装箱(将int变量123赋给Integer对象it5)

2.自动拆箱(将Integer对象it5赋给int变量ib)

3.自动装箱池

四、Double类的概述及使用

1.Double类常用的常量

2.Double类常用的方法

五、Boolean类

1.Boolean类常用的常量

2.Boolean类常用的方法

六、Character类

1.Character类常用的变量

2.Character类常用的方法

七、Math类

八、BigDecimal类的使用

九、BigInteger


一、包装类的定义及分类:

清华:https://github.com/PKUanonym/REKCARC-TSC-UHT

1.简单定义:

        负责将变量变成对象的类称为包装类,包装类主要是为了满足“万物皆对象”的理念。

2.包装类的分类

包装类对应的基本类型
java.lang.Bytebyte
java.lang.Shortshort
java.lang.Integerint
java.lang.Longlong
java.lang.Floatfloat
java.lang.Doubledouble
java.lang.Booleanboolean
java.lang.Characterchar
包装类父类
java.lang.Bytejava.lang.Number
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
java.lang.Boolean
java.lang.Character

二.Integer的概述及使用

1.Integer类的常用常量

常量类型和名称功能介绍
public static final int MAX_VALUE表示int类型可以描述的最大值,即2^31-1
public static final int MIN_VALUE表示int类型可以描述的最小值,即-2^31
public static final int SIZE表示int类型采用二进制补码形式的位数
public static final int BYTES表示int类型所占的字节个数
public static final Class TYPE表示int类型的Class实例

测试上述常量,代码如下:(注释就是执行结果

        System.out.println("最大值是:" + Integer.MAX_VALUE); // 2^31-1
        System.out.println("最小值是:" + Integer.MIN_VALUE); // -2^31
        System.out.println("所表示二进制的位数是:" + Integer.SIZE); // 32
        System.out.println("所占字节的个数是:" + Integer.BYTES); // 4
        System.out.println("对应int类型的Class实例是:" + Integer.TYPE); // int

2.Integer的常用方法

        

方法声明功能介绍
Integer(int value)根据参数指定的整数来构造对象(已过时,从java9开始)
Integer(String s)根据参数指定的字符串来构造对象 (已过时)
int intValue()获取调用对象中的整数值并返回
static Integer valueOf(int i) 根据参数指定整数值得到Integer类型对象
boolean equals(Object obj)比较调用对象与参数指定的对象是否相等
String toString()返回描述调用对象数值的字符串形式
static int parseInt(String s)将字符串类型转换为int类型并返回
static String toString(int i)获取参数指定整数的十进制字符串形式
static String toBinaryString(int i) 获取参数指定整数的二进制字符串形式
static String toHexString(int i)获取参数指定整数的十六进制字符串形式
static String toOctalString(int i)获取参数指定整数的八进制字符串形式

3.创建Integer类,将int转为integet(从int类型转换为integer对象的过程,叫做装箱)

        Integer it1 = new Integer(123);
        System.out.println("it1的结果是"+it1);

注意:上述代码的执行结果为123,原因是因为打印对象或者使用字符串拼接对象时,会自动调用该对象的toString方法,而不是因为其它原因

上述的Integer构造方法已过时,可以使用valueOf代替,结果相同:

        Integer it2 = Integer.valueOf(123);
        System.out.println(it2);

上面的两种方法的参数也可以是字符串

        Integer it3 = new Integer("456");
        System.out.println(it2);

        Integer it4 = Integer.valueOf("456");
        System.out.println(it2);

也可以使用parseInt方法对字符串进行转换

        Integer it3 = Integer.parseInt("456");
        System.out.println(it2);

4.将integer转为int(从integer对象转换为int类型的过程,叫做拆箱)

调用intValue方法,可以获取it3对象中的int变量的值,将这个值赋给了it4,也算是将integer转为了int类型(Integer对象自带1个int类型的变量

int it4 = it3.intValue();

三、自动装箱与拆箱

定义:从java5开始,有了自动装箱和自动拆箱的机制

1.自动装箱(将int变量123赋给Integer对象it5)

Integer it5 = 123;

2.自动拆箱(将Integer对象it5赋给int变量ib)

int ib = it5;

3.自动装箱池

定义:在Integer类的内部提供了自动装箱池技术,将-128到127之间的整数已经装箱完毕,当程序中使用 该范围之间的整数时,无需装箱直接取用自动装箱池中的对象即可,从而提高效率。

注意:上面也就是说如果整数的范围在-128到127之间,那么只要装箱用的两个数字一样,那么两个Integer对象也相等

        Integer it6 = 127; 
        Integer it7 = 127; 
        Integer it8 = new Integer(127); 
        Integer it9 = new Integer(127); 
        System.out.println(it6 == it7);      // 比较地址  true  地址一样
        System.out.println(it6.equals(it7)); // 比较内容  true
        System.out.println(it8 == it9);      // 比较地址  false
        System.out.println(it8.equals(it9)); // 比较内容  true

四、Double类的概述及使用

1.Double类常用的常量

常量类型和名称功能介绍
public static final int SIZE表示double类型的二进制位数
public static final int BYTES表示double类型的字节个数
public static final Class TYPE表示double类型的Class实例

2.Double类常用的方法

方法声明功能介绍
Double(double value)根据参数指定的浮点数据来构造对象(已过时)
Double(String s)根据参数指定的字符串来构造对象 (已过时)
double doubleValue()获取调用对象中的浮点数据并返回
static Double valueOf(double d)根据参数指定浮点数据得到Double类型对象
boolean equals(Object obj)比较调用对象与参数指定的对象是否相等
String toString()返回描述调用对象数值的字符串形式
static double parseDouble(String s)将字符串类型转换为double类型并返回
boolean isNaN()判断调用对象的数值是否为非数字

五、Boolean类

1.Boolean类常用的常量

常量类型和名称功能介绍
public static final Boolean FALSE对应基值为false的对象
public static final Boolean TRUE对应基值为true的对象
public static final Class TYPE表示boolean类型的Class实例

2.Boolean类常用的方法

方法声明功能介绍
Boolean(boolean value)根据参数指定的布尔数值来构造对象(已过时)
Boolean(String s)根据参数指定的字符串来构造对象 (已过时)
boolean booleanValue()获取调用对象中的布尔数值并返回
static Boolean valueOf(boolean b)根据参数指定布尔数值得到Boolean类型对象
boolean equals(Object obj)比较调用对象与参数指定的对象是否相等
String toString()返回描述调用对象数值的字符串形式
static boolean parseBoolean(String s)将字符串类型转换为boolean类型并返回,这个方法的特点:参数只要不为true和false就为false,比如将数字作为参数

六、Character类

1.Character类常用的变量

常量类型和名称功能介绍
public static final int SIZE表示char类型的二进制位数
public static final int BYTES表示char类型的字节个数
public static final Class TYPE表示char类型的Class实例

2.Character类常用的方法

方法声明功能介绍
Character(char value)根据参数指定的字符数据来构造对象(已过时)
char charValue()获取调用对象中的字符数据并返回
static Character valueOf(char c)根据参数指定字符数据得到Character类型对象
boolean equals(Object obj)比较调用对象与参数指定的对象是否相等
String toString()返回描述调用对象数值的字符串形式
static boolean isUpperCase(char ch)判断参数指定字符是否为大写字符
static boolean isLowerCase(char ch)判断参数指定字符是否为小写字符
static boolean isDigit(char ch)判断参数指定字符是否为数字字符
static char toUpperCase(char ch)将参数指定的字符转换为大写字符
static char toLowerCase(char ch)将参数指定的字符转换为小写字符

七、Math类

方法声明功能介绍
static int max(int a, int b)返回两个参数中的最大值
static int min(int a, int b)返回两个参数中的最小值
static double pow(double a, double b)返回第一个参数的幂
static int abs(int a)返回参数指定数值的绝对值
static long round(double a)返回参数四舍五入的结果
static double sqrt(double a)返回参数的平方根
static double random()返回0.0到1.0的随机数

random方法还是推荐使用Random类,更加便捷

Math类测试

        System.out.println("获取两个整数中最大值的结果是:" + Math.max(10, 20)); // 20
        System.out.println("获取两个整数中最小值的结果是:" + Math.min(10, 20)); // 10
        System.out.println("获取次方的结果是:" + Math.pow(2, 3)); // 8.0  体现double类型
        System.out.println("获取绝对值的结果是:" + Math.abs(-5)); // 5
        System.out.println("进行四舍五入的结果是:" + Math.round(3.14)); // 3
        System.out.println("该整数的平方根是:" + Math.sqrt(16)); // 4.0
        System.out.println("生成的随机数是:" + Math.random()); // 随机数

八、BigDecimal类的使用

定义:由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助 java.math.BigDecimal类型加以描述。

方法声明功能介绍
BigDecimal(String val)根据参数指定的字符串来构造对象
BigDecimal add(BigDecimal augend)用于实现加法运算(调用这个方法的对象加上方法里的参数
BigDecimal subtract(BigDecimal subtrahend)用于实现减法运算(调用这个方法的对象减去方法里的参数
BigDecimal multiply(BigDecimal multiplicand)用于实现乘法运算(调用这个方法的对象乘上方法里的参数
BigDecimal divide(BigDecimal divisor)用于实现除法运算(调用这个方法的对象除以方法里的参数
        // 1.构造BigDecimal类型的两个对象
        BigDecimal bd1 = new BigDecimal("5.2");
        BigDecimal bd2 = new BigDecimal("1.3");
        // 2.使用构造完毕的对象实现加减乘除运算
        System.out.println("实现加法运算的结果是:" + bd1.add(bd2)); // 6.5
        System.out.println("实现减法运算的结果是:" + bd1.subtract(bd2)); // 3.9
        System.out.println("实现乘法运算的结果是:" + bd1.multiply(bd2)); // 6.76
        System.out.println("实现除法运算的结果是:" + bd1.divide(bd2)); // 4

注意

除法运算有时会因为不够精确,而方法无法进行运算,这时可以采用四舍五入。当然,这个方法已经过时,使用RoundingMode类进行代替。

        BigDecimal bd5 = new BigDecimal("2");
        BigDecimal bd6 = new BigDecimal("0.3");
        System.out.println("除法运算的结果是:" + bd5.divide(bd6, RoundingMode.HALF_UP)); // 7

九、BigInteger

定义:若希望表示比long类型范围还大的整数数据,则需要借助java.math.BigInteger类型描述。

BigInteger的创建还有方法的使用都和BigDecimal一样,不一样的地方就是多了两个操作余数的方法

BigInteger remainder(BigInteger val)用于实现取余运算
BigInteger[] divideAndRemainder(BigInteger val)用于实现取商和余数的运算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值