Convertir Int a Byte en Java
- Conversión de Int a Byte en Java
- Conversión de Int a Byte y viceversa en Java
- Conversión de Int a Byte sin firmar en Java
- Conversión de Int a Byte y viceversa con Java 8
-
Int a Byte usando el método
byteValue()
en Java
Este tutorial presenta cómo convertir int al byte en Java.
En Java, int y byte son tipos primitivos y se utilizan para almacenar valores numéricos. Ambos se utilizan para almacenar valores firmados y no firmados, pero tienen diferentes rangos de almacenamiento. El rango de bytes es -128 a 127
y el rango int es -2,147,483,648 a 2,147,483,647
. Entonces, claramente, podemos ver que int puede almacenar un valor mayor que el tipo de byte.
Al convertir int a byte, algunos datos se pierden debido a la memoria. Veamos algunos ejemplos.
Conversión de Int a Byte en Java
En este ejemplo, convertimos int a byte mediante la conversión y vemos si el valor de int excede el rango de bytes. Si es así, se convierte en un valor negativo. Significa que si un valor es mayor que el rango de bytes, entonces se convierte en negativo. Entonces, cuando convertimos un valor grande en un tipo de byte, obtenemos un resultado diferente al del tipo int.
public class SimpleTesting {
public static void main(String[] args) {
int a = 127; // byte max positive range
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = 130; // Out of positive byte range
System.out.println("int value = " + a);
b = (byte) a;
System.out.println("byte value = " + b);
}
}
Producción :
int value = 127
byte value = 127
int value = 130
byte value = -126
Conversión de Int a Byte y viceversa en Java
Para convertir un tipo int en un tipo byte, necesitamos usar el encasillado explícito. Sin embargo, para convertir el byte en int, no necesitamos ninguna conversión explícita. Java hace esto implícitamente. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = b;
System.out.println("int value = " + a);
}
}
Producción :
int value = 230
byte value = -26
int value = -26
Conversión de Int a Byte sin firmar en Java
Sí firmamos la conversión en todos los ejemplos anteriores, pero si desea una conversión sin firmar, utilice el código a continuación. Aquí, usamos el código & 0xFF
, junto con el valor int, para obtener una conversión sin signo. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = b & 0xFF;
System.out.println("int value = " + a);
}
}
Producción :
int value = 230
byte value = -26
int value = 230
Conversión de Int a Byte y viceversa con Java 8
Si está trabajando con Java 8, o una versión superior, utilice el método toUnsignedInt()
de la clase Byte
para obtener una conversión sin firmar. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
byte b = (byte) a;
System.out.println("byte value = " + b);
a = Byte.toUnsignedInt(b);
System.out.println("int value = " + a);
}
}
Producción :
int value = 230
byte value = -26
int value = 230
Int a Byte usando el método byteValue()
en Java
También podemos usar el método byteValue()
de la clase Integer
para obtener el valor del byte después de la conversión. Este método devuelve un valor con signo. Por lo tanto, utilícelo solo si desea obtener un resultado firmado. Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
int a = 230;
System.out.println("int value = " + a);
Integer i = a;
byte b = i.byteValue();
System.out.println("byte value = " + b);
}
}
Producción :
int value = 230
byte value = -26
Artículo relacionado - Java Int
- Cómo convertir int a char en Java
- Convertir Int a Double en Java
- Convertir Objeto a Int en Java
- Lista de Ints en Java
- Compruebe si Int es nulo en Java