在学习Java 类型转换之前,请确保您了解Java 数据类型。
类型转换
将一种数据类型(int
、float
、double
等)的值转换为另一种数据类型的过程称为类型转换。
在 Java 中,有 13 种类型转换。但在本教程中,我们将只关注主要的 2 种类型。
1. 扩展类型转换
2. 缩窄类型转换
要了解其他类型的类型转换,请访问Java 类型转换(官方 Java 文档)。
扩展类型转换
在扩展类型转换中,Java 会自动将一种数据类型转换为另一种数据类型。
示例:将 int 转换为 double
class Main {
public static void main(String[] args) {
// create int type variable
int num = 10;
System.out.println("The integer value: " + num);
// convert into double type
double data = num;
System.out.println("The double value: " + data);
}
}
输出
The integer value: 10 The double value: 10.0
在上面的示例中,我们将名为 num 的 int
类型变量赋值给一个名为 data 的 double
类型变量。
这里,Java 首先将 int
类型数据转换为 double
类型。然后将其赋值给 double
变量。
在扩展类型转换的情况下,将较低数据类型(大小较小)转换为较高数据类型(大小较大)。因此,不会丢失数据。这就是为什么这种转换会自动发生。
注意:这也被称为隐式类型转换。
缩窄类型转换
在缩窄类型转换中,我们使用括号手动将一种数据类型转换为另一种数据类型。
示例:将 double 转换为 int
class Main {
public static void main(String[] args) {
// create double type variable
double num = 10.99;
System.out.println("The double value: " + num);
// convert into int type
int data = (int)num;
System.out.println("The integer value: " + data);
}
}
输出
The double value: 10.99 The integer value: 10
在上面的示例中,我们将名为 num 的 double
类型变量赋值给一个名为 data 的 int
类型变量。
注意这行:
int data = (int)num;
这里,括号内的 int
关键字表示 num 变量已转换为 int
类型。
在缩窄类型转换的情况下,将较高数据类型(大小较大)转换为较低数据类型(大小较小)。因此,会丢失数据。这就是为什么这种转换不会自动发生。
注意:这也被称为显式类型转换。
让我们来看一些 Java 中其他类型转换的示例。
示例 1:从 int 到 String 的类型转换
class Main {
public static void main(String[] args) {
// create int type variable
int num = 10;
System.out.println("The integer value is: " + num);
// converts int to string type
String data = String.valueOf(num);
System.out.println("The string value is: " + data);
}
}
输出
The integer value is: 10 The string value is: 10
在上面的程序中,请注意这一行
String data = String.valueOf(num);
在这里,我们使用了 Java String 类的 valueOf()
方法将 int 类型变量转换为字符串。
示例 2:从 String 到 int 的类型转换
class Main {
public static void main(String[] args) {
// create string type variable
String data = "10";
System.out.println("The string value is: " + data);
// convert string variable to int
int num = Integer.parseInt(data);
System.out.println("The integer value is: " + num);
}
}
输出
The string value is: 10 The integer value is: 10
在上面的示例中,请注意这一行
int num = Integer.parseInt(data);
在这里,我们使用了 Java Integer
类的 parseInt()
方法将字符串类型变量转换为 int
变量。
注意:如果字符串变量无法转换为整数变量,则会发生名为 NumberFormatException
的异常。
另请阅读