Java 类型转换

在学习Java 类型转换之前,请确保您了解Java 数据类型


类型转换

将一种数据类型(intfloatdouble 等)的值转换为另一种数据类型的过程称为类型转换。

在 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

在上面的示例中,我们将名为 numint 类型变量赋值给一个名为 datadouble 类型变量。

这里,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

在上面的示例中,我们将名为 numdouble 类型变量赋值给一个名为 dataint 类型变量。

注意这行:

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 的异常。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战