Overflow de variables Java
Alguna vez te has preguntado cómo funciona el overflow de variables en Java. Es decir, qué sucede si a una variable de un tipo primitivo, una vez alcanzado su máximo valor se le suma alguna unidad más.
Pues veamos de forma práctica cómo funciona el overflow de variables Java.
Definir una variable byte
Sección titulada «Definir una variable byte»Para ello lo primero que vamos a definir es una variable de tipo byte. El tipo byte es una variable de 8 bits, por lo tanto almacena desde el valor -128 al valor 127.
byte b = Byte.MAX_VALUE;Si no sabemos el valor máximo de un tipo de datos siempre podemos apoyarnos en el tipo de dato objeto relacionado, en este caso en Byte, y en su constante MAX_VALUE.
Al volcar el contenido de este byte por pantalla obtendremos el siguiente resultado:
System.out.println(b);// Muestra: 127Provocar el overflow
Sección titulada «Provocar el overflow»Ahora lo que vamos a realizar es a sumarle una unidad:
b++;System.out.println(b);Como teníamos el máximo valor del byte y hemos incrementado uno hemos conseguido realizar el overflow de variables Java. Pero no nos va a dar una excepción, si no lo que hace es rotar el valor y empezar a incrementar las unidades desde el valor más pequeño de la variable.
Así, si ahora volcamos el contenido por consola obtendremos el siguiente resultado:
// Muestra: -128Aplicable a todos los tipos primitivos
Sección titulada «Aplicable a todos los tipos primitivos»El overflow de variables Java es aplicable para todos los tipos de datos primitivos. Así que lo puedes probar con int, long, double…
Descarga el código de Overflow de variables Java
Explicación sencilla sobre qué sucede si realizamos un overflow de variables Java.
¿Cuál de las siguientes declaraciones de variable es válida en Java?
- A int 1numero = 10;
- B int numero = 10;
- C integer numero = 10;
- D num int = 10;