基本数据类型包装类

在实际应用中,用户一般输入的是字符串,而在开发过程中,我们需要获取字符串转换成我们需要的类型,例如年龄age,用户输入字符串类型的“18”,我们需要将其转换成int类型的18。
java将8个基本数据类型封装成了对象
包装类的特点,用于在字符串和基本数据类型之间进行转换
这里我只学了一个Integer类,因为8个类之间有共通性。
Integer有两个挺重要的构造方法
(1)Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。
(2)Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
我学习了其中几个方法在这里插入代码片
(1)static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行解。

/*
 * 字符串转int
 */
public static void function() {
	int i = Integer.parseInt("-12");
	System.out.println(i / 2);
}

如果实例化了Integer的对象,则不能使用静态方法,需要使用:
(2)int intValue()
以 int 类型返回该 Integer 的值。

/*
	 * 构造方法,将数字格式的字符串传递到integer的构造方法中
	 */
	public static void function3() {
		Integer in = new Integer("100");
		int i = in.intValue();
		System.out.println(i);
	}

至于将int类型转换成String类型,例:

String s = i + "";

JDK1.5版本后的新特性,自动装箱和自动封箱
自动装箱:基本数据类型–>对象
自动拆箱:对象中的数据–>基本类型

//数据范围在byte范围内,JVM不会重新new对象
Integer aa = 127;//Integer aa = new Integer(127);
Integer bb = 127;//Integer bb = aa;

此时,aa == bb结果为true,超过byte范围,JVM才会重新new对象

### Java 基本数据类型及其包装 Java 是一种面向对象的编程语言,提供了八种基本数据类型以及对应的包装。以下是每种基本数据类型的名称、对应包装及取值范围: #### 1. `byte` 和 `Byte` - **基本数据类型**: `byte` - **包装**: `Byte` - **取值范围**: `-128` 到 `127` (共 256 个值)[^1] ```java byte minValue = Byte.MIN_VALUE; // -128 byte maxValue = Byte.MAX_VALUE; // 127 ``` --- #### 2. `short` 和 `Short` - **基本数据类型**: `short` - **包装**: `Short` - **取值范围**: `-32,768` 到 `32,767` (共 65,536 个值) ```java short minValue = Short.MIN_VALUE; // -32768 short maxValue = Short.MAX_VALUE; // 32767 ``` --- #### 3. `int` 和 `Integer` - **基本数据类型**: `int` - **包装**: `Integer` - **取值范围**: `-2,147,483,648` 到 `2,147,483,647` (共约 43 亿个值) ```java int minValue = Integer.MIN_VALUE; // -2147483648 int maxValue = Integer.MAX_VALUE; // 2147483647 ``` --- #### 4. `long` 和 `Long` - **基本数据类型**: `long` - **包装**: `Long` - **取值范围**: `-9,223,372,036,854,775,808` 到 `9,223,372,036,854,775,807` ```java long minValue = Long.MIN_VALUE; // -9223372036854775808L long maxValue = Long.MAX_VALUE; // 9223372036854775807L ``` --- #### 5. `float` 和 `Float` - **基本数据类型**: `float` - **包装**: `Float` - **取值范围**: 大约为 ±3.4e−45 至 ±3.4e+38,精度为单精度浮点数 (大约 7 位有效数字) ```java float minValue = Float.MIN_VALUE; // 约等于 1.4E-45 float maxValue = Float.MAX_VALUE; // 约等于 3.4E+38 ``` --- #### 6. `double` 和 `Double` - **基本数据类型**: `double` - **包装**: `Double` - **取值范围**: 大约为 ±4.9e−324 至 ±1.8e+308,精度为双精度浮点数 (大约 15~16 位有效数字) ```java double minValue = Double.MIN_VALUE; // 约等于 4.9E-324 double maxValue = Double.MAX_VALUE; // 约等于 1.8E+308 ``` --- #### 7. `char` 和 `Character` - **基本数据类型**: `char` - **包装**: `Character` - **取值范围**: `\u0000` (即 0) 到 `\uffff` (即 65,535),表示 Unicode 字符集中的字符 ```java char minValue = Character.MIN_VALUE; // '\u0000' char maxValue = Character.MAX_VALUE; // '\uffff' ``` --- #### 8. `boolean` 和 `Boolean` - **基本数据类型**: `boolean` - **包装**: `Boolean` - **取值范围**: 只有两个可能值:`true` 或 `false` ```java boolean valueTrue = true; boolean valueFalse = false; ``` --- ### 自动装箱与拆箱 在 Java 中,可以通过自动装箱和拆箱机制实现基本数据类型与其包装之间的无缝转换。例如: ```java // 装箱操作 Integer boxedValue = 10; // 拆箱操作 int unboxedValue = boxedValue; ``` 上述代码中,`Integer.valueOf(10)` 方法被隐式调用来完成装箱过程;而在拆箱过程中,则通过调用 `intValue()` 完成转换[^4]。 --- ### 使用包装的意义 尽管基本数据类型具有更高的运行效率,但在某些场景下使用包装更加灵活。例如,在集合框架中存储元素时,必须使用引用型而非基本数据类型。此外,包装还提供了丰富的静态方法来处理数值运算和其他功能[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值