Converter Int em Byte em Java
- Conversão de Int para Byte em Java
- Conversão de Int em Byte e vice-versa em Java
- Conversão de int para byte sem sinal em Java
- Conversão de Int em Byte e vice-versa usando Java 8
-
Int para Byte usando o método
byteValue()
em Java
Este tutorial apresenta como converter int em byte em Java.
Em Java, int e byte são tipos primitivos e usados para armazenar valores numéricos. Ambos são usados para armazenar valores assinados e não assinados, mas têm diferentes intervalos de armazenamento. O intervalo de bytes é -128 a 127
e o intervalo interno é -2,147,483,648
a 2,147,483,647
. Portanto, podemos ver claramente que int pode armazenar um valor maior do que o tipo de byte.
Ao converter int em byte, alguns dados são perdidos devido à memória. Vamos ver alguns exemplos.
Conversão de Int para Byte em Java
Neste exemplo, convertemos int em byte ao converter e ver se o valor int excede o intervalo de bytes. Em caso afirmativo, ele é convertido em um valor negativo. Isso significa que se um valor for maior do que o intervalo de bytes, ele será convertido em negativo. Portanto, quando convertemos um valor grande em tipo de byte, obtemos um resultado diferente do 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);
}
}
Resultado:
int value = 127
byte value = 127
int value = 130
byte value = -126
Conversão de Int em Byte e vice-versa em Java
Para converter um tipo int em um tipo de byte, precisamos usar typecasting explícito. No entanto, para converter o byte em int, não precisamos de nenhuma conversão explícita. Java faz isso implicitamente. Veja o exemplo abaixo.
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);
}
}
Resultado:
int value = 230
byte value = -26
int value = -26
Conversão de int para byte sem sinal em Java
Fizemos a conversão de assinaturas em todos os exemplos acima, mas se você quiser uma conversão sem sinal, use o código abaixo. Aqui, usamos o código & 0xFF
, junto com o valor int, para obter uma conversão sem sinal. Veja o exemplo abaixo.
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);
}
}
Resultado:
int value = 230
byte value = -26
int value = 230
Conversão de Int em Byte e vice-versa usando Java 8
Se você estiver trabalhando com Java 8 ou uma versão superior, use o método toUnsignedInt()
da classe Byte
para obter uma conversão sem sinal. Veja o exemplo abaixo.
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);
}
}
Resultado:
int value = 230
byte value = -26
int value = 230
Int para Byte usando o método byteValue()
em Java
Também podemos usar o método byteValue()
da classe Integer
para obter o valor do byte após a conversão. Este método retorna um valor assinado. Portanto, use-o apenas se quiser obter um resultado com sinal. Veja o exemplo abaixo.
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);
}
}
Resultado:
int value = 230
byte value = -26
Artigo relacionado - Java Int
- Como Converter Int para Char em Java
- Converter Int para Double em Java
- Converter inteiro para int em Java
- Diferença entre Integer e int em Java
- Verifique se Int é Nulo em Java