【校招VIP】学习—Java包装类之Integer类

08月04日 收藏 0 评论 0 java开发

【校招VIP】学习—Java包装类之Integer类

转载声明:文章来源https://blog.csdn.net/weixin_46075438/article/details/122922910

任务描述

本关任务:掌握 Integer 类的定义与方法的使用。

相关知识

Java 是个面向对象语言,所有的操作都是基于对象。Object 类是 Java 中的对象基础,所有 Java 中的类都有个共同的始祖 Object 类,Object 类可以表示任意类型数据。但 Java 中的一些基本类型数据,并不是对象,没有对象的操作。如何让对象类型与基础联系数据联系起来,这时就需要一个过渡类型数据,称为包装类。

包装类是对基本类型数据的包装,让基本数据类型“伪装”成类,具有类的特性,可以进行类的方法操作。

下表是基本数据类型与对应的包装类型。

接下来我们将通过介绍包装类 Integer 来了解 Java 中的包装类。

Integer 类在对象中包装了一个基本类型 int 的值。Integer 类对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

Integer 类中的构造方法有以下两个:

Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值;

Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

例如,以下代码分别使用以上两个构造方法来获取 Integer 对象:

1、Integer integer1 = new Integer(100); // 以 int 型变量作为参数创建 Integer 对象

2、Integer integer2 = new Integer("100"); // 以 String 型变量作为参数创建 Integer 对象

下面为大家详细介绍这些方法的使用:

1.doubleValue():可以将 Integer 对象类型变成 double 的基础数据类型;

2.public class TestDemo {

3.public static void main(String[] args) {

4.// 定义一个 Integer 对象类型的变量

5.Integer a = new Integer(10);

6.// 将 a 类型转变为 double 的基础数据类型

7.double i = a.doubleValue();

8.System.out.print(i);

9.}

10.}

执行结果:

1.10.0

toString():返回一个表示该 Integer 值的 String 对象;

1.// 定义一个 Integer 类型的变量

2.Integer i1 = new Integer(3);

3.// 将 Integer 值转化为 String 类型

4.String s = i1.toString();

5.System.out.print(s);

执行结果:

1.3

valueOf(String s):返回保存指定的 String 值或数值型的 Integer 对象;

1.String a = "12";

2.// 将 String 型的数据转换为 Integer 对象

3.Integer ai = Integer.valueOf(a);

4.System.out.println(ai);

执行结果:

1.12

parseInt:将数字字符串转换为 int 数值。

1.public class TestDemo {

2.public static void main(String[] args) {

3.String a = "12";

4.int v = Integer.parseInt(a);

5.System.out.print(v);

6.}

7.}

执行结果:

1.12

上面的例子都需要手动实例化一个包装类,称为手动拆箱装箱。Java 1.5(5.0) 之前必须手动拆箱装箱。

Java 1.5 之后可以自动拆箱装箱,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。

我们来看一下我们之前用的手动装箱的方法:

1.int i = 10;

2.Integer obj = new Integer(i); // 手动装箱

系统提供的自动装箱方法:

Integet i = 10; // 自动装箱

其实自动装箱的原理就是调用包装类的 valueOf 方法。

1.Integer i = Integer.valueOf(10);

与自动装箱相反,有装就有拆,自动拆箱即自动将包装类型转换成基本数据类型。

1.Integet i = 10; // 自动装箱

2.int i1 = i; // 自动拆箱

把 i 赋值给 i1 就是实现的自动拆箱功能,自动装箱的原理就是调用包装类的 xxValue 方法。

1.Integet i = 10; // 自动装箱

2.int i1 = i.intValue();

Integer 类包含以下 4 个常量:

MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值;

MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值;

SIZE:用来以二进制补码形式表示 int 值的比特位数;

TYPE:表示基本类型 int 的 Class 实例。

下面的代码演示了 Integer 类中常量的使用。

1.int max_value = Integer.MAX_VALUE; // 获取 int 类型可取的最大值

2.int min_value = Integer.MIN_VALUE; // 获取 int 类型可取的最小值

3.int size = Integer.SIZE; // 获取 int 类型的二进制位

4.Class c = Integer.TYPE; // 获取基本类型 int 的 Class 实例

/*
* 根据所学的 Integer 类的相关知识,完成本关任务。
*/
public class Test {
public static void main(String[] args) {
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 创建一个 Integer 对象,它表示指定的 int 值,值为 “123”,变量名命名为 i1
int a = 123;
Integer i1 = new Integer(a);
// 创建一个 Integer 对象,它表示 String 参数所指示的 int 值,值为 “123”,变量名命名为 i2
String str = "123";
Integer i2 = new Integer(str);
// 依次使用 == 和 equals 方法比较 i1 和 i2 是否相同
boolean b1 = (i1 == i2);
boolean b2 = i1.equals(i2);
System.out.println("i1==i2的结果为" + b1);
System.out.println("i1.equals(i2)的结果为" + b2);
// 使用自动装箱的方法创建一个 Integer 对象,值为 “128”,变量名命名为 i3
Integer i3 = 128;
// 使用 compareTo 方法 依次比较 i3 和 i1、i2的大小以及 ii 和 i2 的大小
int b3 = i3.compareTo(i1);
int b4 = i3.compareTo(i2);
int b5 = i1.compareTo(i2);
System.out.println("i3和i1比较后的结果为" + b3);
System.out.println("i3和i2比较后的结果为" + b4);
System.out.println("i1和i2比较后的结果为" + b5);
// 将 i2 转换为 int 类型,i1 转换为 String 类型
int b = i2.intValue();
String c = i1.toString();
System.out.println("Integer->int结果为" + b);
System.out.println("Integer->String结果为" + c);
/********** End **********/
}
}



C 0条回复 评论

帖子还没人回复快来抢沙发