valor absoluto Java

Math.abs en Java: valor absoluto y el extremo de int

Calcula distancias simples y evita el desbordamiento de Integer.MIN_VALUE.

Tipo: Guía práctica Lectura: 4 min Actualizado: 2026-11-03
Ejemplo visual para Valor absoluto en Java: Math.abs y casos de tipo numérico

Guía y comprobaciones

Elegir el tipo antes de calcular

Math.abs tiene sobrecargas para varios tipos numéricos. Para un entero corriente devuelve su magnitud sin signo, pero existe un extremo importante: Integer.MIN_VALUE no tiene un equivalente positivo que quepa en int.

public class Ejemplo {
    public static void main(String[] args) {
        System.out.println(Math.abs(-12)); // 12
        System.out.println(Math.abs(Integer.MIN_VALUE)); // -2147483648
        System.out.println(Math.abs((long) Integer.MIN_VALUE)); // 2147483648
    }
}

Convertir a long después de llamar a Math.abs no evita el desbordamiento que ya se produjo. El tipo debe ampliarse antes de la operación.

Distancia entre dos enteros

El mismo cuidado afecta a una resta. Si ambos operandos son int, su diferencia puede desbordar antes de calcular el valor absoluto.

int a = Integer.MAX_VALUE;
int b = Integer.MIN_VALUE;
long distancia = Math.abs((long) a - b);
System.out.println(distancia); // 4294967295

El fragmento calcula una distancia entre enteros en el rango de int. No lo generalices sin más a cualquier pareja de long: ese tipo también tiene límites.

Números decimales y valores especiales

En coma flotante, NaN no se convierte en un número válido por aplicar un valor absoluto. El infinito mantiene magnitud infinita y el cero negativo se transforma en cero positivo. Si estás validando una medida física, una magnitud positiva no demuestra que sea finita ni que esté dentro de un rango aceptable.

No confundas valor absoluto y redondeo: Math.abs(-2.7) conserva la parte decimal. Tampoco sustituye a una tolerancia bien definida para comparar mediciones.

Pruebas útiles

Incluye un positivo, un negativo y cero, pero también el mínimo del tipo y una resta entre extremos. Son casos que revelan si la conversión se hizo a tiempo. Si el resultado representa dinero o una unidad regulada, elige además una representación y reglas de redondeo adecuadas; esta operación aritmética aislada no establece esas reglas.

Preguntas frecuentes

¿Por qué abs de Integer.MIN_VALUE sigue siendo negativo?

Su magnitud positiva no cabe en int. Amplía a long antes de calcular si tu contrato permite ese resultado.

¿Math.abs redondea un decimal?

No. Cambia su signo cuando corresponde, pero no elimina la parte decimal.

Documentación oficial

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.