基本数据类型与包装类

基本类型与包装类型 (8种基本数据类型)

        整数类型 byte、short、int、long

        浮点类型 float与double

        字符类型 char

        真假类型 boolean

整数类型默认值类型是int

        浮点型默认是double类型,因为double的数值精度是float的两倍

        byte 1个字节

        char 1个字节 -2^7~2^7-1(-128 ~127)

        short 2个字节 -2^15~2^15 - 1(-32768~+32767)

        int 4个字节 -2^31~2^31-1(-2147483648~2147483647)

        long 8个字节

        float 4个字节 -2^128 ~ 2^128(-3.40E+38 ~ +3.40E+38 )

        double 8个字节

        boolean 1个字节 (1和0)

静态的基本数据类型属于局部变量表

包装类型

        基本类型包装成对象就可以让有对象类的一些操作,虽然包装类对象是不能被继承。(因为被final修饰),但是我们应用对象,正是因为面向对象的几个特征:封装、继承、多态、抽象。这也是面向对象的核心吧

        byte Byte

        char Character

        short Short

        int Integer

        long Long

        float Float

        double Double

        boolean Boolean

int类型到Integer转变其实是调用了Integer.valueOf

新建的Integer对象都是从缓存里面取的

包装类的作用:

提供:字符串、基本数据类型、对象之间互相转化的方式!

包含每种基本数据类型的相关属性,如:最大值、最小值等

包装类的转换方法

//将字符串”120”按照十进制转换为int,则结果为120

int n = Integer.parseInt(“120”,10);

//将字符串”12”按照十六进制转换为int,则结果为18

int n = Integer.parseInt(“12”,16);

//将字符串”ff”按照十六进制转换为int,则结果为255

int n = Integer.parseInt(“ff”,16);

toString方法

自动装箱

        基本类型就自动地封装到与它相似类型的包装中,如:Integer i = 100;

        本质上是,编译器编译时自动添加:Integer i = new Integer(100);

自动拆箱

        包装类对象自动转换成基本数据类型。如:int a = new Integer(100);

        本质是上,编译器编译时自动添加:int a = new Integer(100).intValue();

Character包装类的常用方法

        Character.isLetter('a');//判断这个字符是否为英文字母

        Character.isDigit('1');//判断这个字符是否为数字

        Character.isUpperCase('A');//判断这个字符是否为大写

        Character.isLowerCase('a');//判断这个字符是否为小写

        Character.isWhitespace(' ');//判断这个字符是否为空格或回车

<think>我们已知用户想要了解String基本数据类型以及包装之间的转换方法。根据引用内容,我们可以整理出以下转换关系: 1. 基本数据类型包装之间的转换(自动装箱和拆箱) 2. 基本数据类型String之间的转换 3. 包装String之间的转换 我们将按照这三转换分别进行说明,并给出示例代码(使用Java语言)。 注意:引用中提到,String型不能通过包装的parse方法直接转换为char型,所以对于char型需要特殊处理。 步骤: 1. 基本数据类型包装转换(自动装箱和拆箱) 2. 基本数据类型转String 3. String转基本数据类型 4. 包装转String 5. String转包装 下面我们逐一说明。 </think>### String基本数据类型包装的转换方法 以下转换方法基于Java语言,根据引用内容整理而成: #### 1. **String → 基本数据类型** 使用包装的`parseXxx()`方法: ```java // 示例代码 String str = "123"; int i = Integer.parseInt(str); // String → int[^2][^3] double d = Double.parseDouble(str); // String → double boolean b = Boolean.parseBoolean("true"); // String → boolean ``` **特殊处理**: - **char型**:需通过`charAt()`提取单个字符 ```java char c = "A".charAt(0); // String → char[^1] ``` #### 2. **基本数据类型 → String** 使用`String.valueOf()`方法: ```java int num = 100; String s1 = String.valueOf(num); // int → String[^3] double price = 9.99; String s2 = String.valueOf(price); // double → String char letter = 'X'; String s3 = String.valueOf(letter); // char → String ``` #### 3. **String → 包装** 使用包装的`valueOf()`方法: ```java String str = "88"; Integer integerObj = Integer.valueOf(str); // String → Integer[^4] Double doubleObj = Double.valueOf("3.14"); // String → Double Boolean boolObj = Boolean.valueOf("true"); // String → Boolean ``` #### 4. **包装 → String** 使用包装的`toString()`方法: ```java Integer numObj = Integer.valueOf(200); String s = numObj.toString(); // Integer → String[^4] Character charObj = 'Z'; String charStr = charObj.toString(); // Character → String ``` #### 5. **基本数据类型包装**(自动装箱/拆箱) ```java // 基本型 → 包装 (自动装箱) int a = 8; Integer b = a; // int → Integer[^3] // 包装基本型 (自动拆箱) Integer x = 10; int y = x; // Integer → int ``` ### 转换关系图 ```mermaid graph LR A[基本数据类型] --自动装箱--> B[包装] B --自动拆箱--> A A --String.valueOf--> C[String] C --包装.parseXxx--> A B --.toString--> C C --包装.valueOf--> B ``` ### 关键注意事项 1. **char型特殊处理** - String转char必须用`charAt()`,无`parseChar()`方法[^1] - 示例:`char c = "Hello".charAt(1);` → `e` 2. **数值格式校验** - 转换非数字字符串会抛出`NumberFormatException` ```java Integer.parseInt("abc"); // 抛出异常 ``` 3. **效率对比** | 方法 | 场景 | 效率 | |---------------------|-----------------------|------------| | `String.valueOf()` | 基本型→String | 高(底层优化) | | `toString()` | 包装→String | 中 | | `parseXxx()` | String→基本型 | 高 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值