La conversión de un tipo de datos a otro es fácil hoy en día, ya que muchos lenguajes, incluido Java, admiten la conversión como una comodidad para el programador. Aquí la conversión se puede hacer de dos maneras, es decir , conversión implícita o explícita .
- Conversión implícita: Este tipo de conversión es realizada automáticamente por los lenguajes de programación. En el caso de Java, lo hace la JVM (Java Virtual Machine).
- conversión explícita: este tipo de conversión debe ser realizada por el programador según sus requisitos. (Sin regla de JVM)
Coerción en Java
aquí discutiremos la coerción (también conocida como conversión de tipo). Entonces, Coerción es el proceso de convertir un tipo de tipo de datos a otro. De manera simple, la conversión implícita tiene el título de coerción en java.
Ejemplo 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); } }
Result is in double format : 3.0
En el ejemplo anterior, la constante (numerador) 15 es un número entero pero su contexto requiere un valor doble.
Explicación de la salida: la operación de la máquina se realiza en los datos en el momento de la ejecución del programa son:
- Obtiene el valor de la variable del numerador .
- Uso del valor literal ie 5 .
- Convierte el valor del valor literal en un punto flotante.
- Realiza la división de punto flotante (tarea de CPU).
- Almacena el resultado en la memoria asignada a la variable de resultado .
Ejemplo 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
En el ejemplo anterior, el valor_ascii es un número entero , pero su contexto requiere un valor de carácter , por lo tanto, con la ayuda de la coerción/ conversión implícita, es posible con facilidad.
Aquí hay algunos ejemplos más de algunas coerciones realizadas por JVM que se enumeran a continuación:
- byte + corto = int
- corto + byte = int
- char + corto = int
- byte + byte = int
- int + int = int
- int + flotante = flotante
- largo + flotante = flotante
- flotante + doble = doble
- largo + doble = doble….. y muchos más.
Nota: En los puntos anteriores ” + ” sea cualquier operador aritmético que sea adecuado con los tipos de datos correspondientes.
Sugerencia: ¿ Diferencia entre conversión de tipos y conversión de tipos ?
Casting es el proceso mediante el cual tratamos un tipo de objeto como otro tipo, mientras que forzar es el proceso de convertir un objeto en otro. Hay dos formas de convertir el tipo de datos primitivo, ampliando y estrechando. También se conoce como conversión de tipo implícito porque se realiza automáticamente.
Publicación traducida automáticamente
Artículo escrito por jainshubham766 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA