Alguna vez te has preguntado como funciona el overflow de variables Java. Es decir, qué sucede si a una variable de un un tipo primitivo, una vez alcanzado su máximo valor se le suma alguna unidad más.
Pues veamos de forma práctica como funciona el overflow de variables Java. Para ello lo primero que vamos a definir es una variable de tipo byte. El tipo bytes 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.
127
Ahora lo que vamos a realizar es a sumarle una unidad.
b += 1;
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:
-128
El overflow de variables Java es aplicable para todos los tipos de datos primitivos. Así que lo puedes probar con int, long, double,…