编写Java程序,练习类型的扩展转换和窄化转换,查看转换前后的结果
时间: 2024-09-15 15:05:41 浏览: 40
Java程序设计课后练习答案
在Java中,类型转换分为两种:隐式转换(也叫自动类型转换)和显式转换(也叫强制类型转换)。当你从一种数据类型转换到另一种兼容的数据类型时,通常不需要显式指定,这就是隐式转换。而当需要将一个类型转换到不兼容的类型时,就需要显式地告诉编译器怎么做,这就是显式转换。
**隐式转换**示例(数值型向字符串转换):
```java
int num = 10;
String strNum = String.valueOf(num); // 隐式将int转为String
System.out.println("原始数:" + num);
System.out.println("转换后:" + strNum);
```
输出:
```
原始数:10
转换后:10
```
**显式转换**示例(字符串向整数转换,可能出现异常):
```java
String str = "123";
int intVal = Integer.parseInt(str); // 显式将String转为int
System.out.println("原始字符串:" + str);
try {
System.out.println("转换后:" + intVal);
} catch (NumberFormatException e) {
System.out.println("转换失败,因为不是有效的数字");
}
```
如果`str`不是一个有效的数字字符串,`parseInt`会抛出`NumberFormatException`。
**注意**:窄化转换(从大类型转换到小类型)通常是安全的,比如从double转为float,不会丢失信息。但宽化转换(从小类型转换到大类型)可能会导致精度损失,如int转为double。
阅读全文