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
In the above example, the constant (numerator) 15 is an integer but its context requires a double value.
输出说明:程序执行时对数据进行机器操作的有:
- 获取分子变量的值。
- 使用字面量值,即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 ..... 还有更多。
Note: In the above points ” + ” be any arithmetic operator which is suitable with the corresponding data types.
Tip: Difference between Type Casting and Type Conversion?
Casting is the process by which we treat an object type as another type while coercing is the process of converting one object to another. There are two ways to cast the primitive data type, widening, and narrowing. It is also known as implicit type casting because it is done automatically.