Ir al contenido

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.

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: 127

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:

Ventana de terminal
// Muestra: -128

El overflow de variables Java es aplicable para todos los tipos de datos primitivos. Así que lo puedes probar con int, long, double

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Overflow de variables Java

Explicación sencilla sobre qué sucede si realizamos un overflow de variables Java.

Descargar código
Pon a prueba tu conocimiento
Variables en 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;