📜  Java中的强制

📅  最后修改于: 2022-05-13 01:55:01.260000             🧑  作者: Mango

Java中的强制

一种数据类型到另一种数据类型的转换现在很容易,因为许多语言包括 Java支持这种转换是为了方便程序员。这里的转换可以通过两种方式完成,即隐式显式转换。

  • 隐式转换:这种类型的转换是由编程语言自动完成的。在Java的情况下,它是由 JVM( Java虚拟机)完成的。
  • 显式转换:这种类型的转换必须由程序员根据他们的要求来完成。 (没有JVM的规则)

Java中的强制

在这里,我们将讨论强制转换(也称为类型转换)。因此,强制转换是将一种数据类型转换为另一种数据类型的过程。以一种简单的方式,隐式转换在Java中具有强制转换的名称。

示例 1

Java
// Java Program to Illustrate Coercion Via
// Integer  Data Type to Double  Data Type
 
// Importing required classes
import java.io.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring and initializing
        // integer and double variables
        int numerator = 15;
        double result = numerator / 5;
 
        // Print statement
        System.out.println("Result is in double format : "
                           + result);
    }
}


Java
// Java Program to Illustrate Coercion Via
// Character data type to Integer data type
 
// Importing required classes
import java.io.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring character and integer variables
        char alphabet = 'A';
        int ascii_value = alphabet;
 
        // Print statement
        System.out.println("ASCII Value of A is: "
                           + ascii_value);
    }
}



输出
Result is in double format : 3.0

输出说明:程序执行时对数据进行机器操作的有:

  • 获取分子变量的值。
  • 使用字面量值,即5
  • 将字面量值的值转换为浮点数。
  • 执行浮点除法(CPU 任务)。
  • 将结果存储到分配给结果变量的内存中。

示例 2

Java

// Java Program to Illustrate Coercion Via
// Character data type to Integer data type
 
// Importing required classes
import java.io.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring character and integer variables
        char alphabet = 'A';
        int ascii_value = alphabet;
 
        // Print statement
        System.out.println("ASCII Value of A is: "
                           + ascii_value);
    }
}


输出
ASCII Value of A is: 65

在上面的示例中, ascii_value是一个整数,但它的上下文需要一个字符值,因此在强制/隐式转换的帮助下,可以轻松实现。

以下是 JVM 完成的一些强制转换的更多示例,如下所示:

  • 字节+短=整数
  • 短 + 字节 = 整数
  • 字符 + 短 = 整数
  • 字节 + 字节 = 整数
  • 整数 + 整数 = 整数
  • 整数 + 浮点数 = 浮点数
  • 长 + 浮动 = 浮动
  • 浮动 + 双 = 双
  • long + double = double ..... 还有更多。