JavaRush /Blog Java /Random-ES /Operaciones numéricas en Java

Operaciones numéricas en Java

Publicado en el grupo Random-ES
¡Hola! Hoy veremos un tema muy importante, a saber, las operaciones numéricas en Java . Los números están por todas partes en la programación. Si profundiza en el plan de estudios de la escuela, recordará que toda la información en una computadora se presenta en un formato numérico (combinaciones de ceros y unos), que también se llama código binario. Operaciones numéricas en Java - 2Hay muchas operaciones con números en programación, por lo que veremos las más importantes con ejemplos :)

Operaciones aritmeticas

Comencemos con lo más simple: las operaciones aritméticas. Se trata de las conocidas suma (signo +), resta (-), multiplicación (*) y división (/).
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
Salida de consola:

1032
966
32967
30
Ya has usado todo esto. Puede agregarles una operación %: el resto de la división.
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
Salida de consola:

1
En este ejemplo, dividimos 33 entre 2. Como resultado, obtenemos 16 y queda una "cola" adicional que no es divisible por 2: uno. Esta “cola” será el resultado de la operación “resto de división”. Java (así como las matemáticas) implementa operadores de comparación . Probablemente también los conozcas de la escuela:
  • es igual ( ==)
  • más ( >)
  • menos ( <)
  • Mayor qué o igual a ( >=)
  • Menos que o igual a ( <=)
  • no es igual ( !=)
Aquí vale la pena prestar atención a un punto importante en el que muchos principiantes cometen errores. La operación “igual” se escribe como ==y no con un signo =. El signo de unidad =en Java es un operador de asignación, donde a una variable se le asigna un número, una cadena o el valor de otra variable. Operaciones numéricas en Java - 3
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// espera que false se imprima en la consola
   }
}
Salida de consola:

999
¡Ups! Claramente este no es el resultado que esperábamos. Este es un tipo de datos completamente diferente: esperábamos ver boolean, pero obtuvimos un número. Esto se debe a que entre paréntesis tenemos una operación de asignación, no una comparación. Se asignó x=y el valor (999) a la variable y luego lo imprimimos en la consola. Opción correcta: yxx
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Salida de consola:

false
¡Ahora hemos comparado correctamente los 2 números! :) Otra característica de la operación de asignación ( =) es que se puede realizar “encadenada”:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
Salida de consola:

256
Recuerde: la asignación se realiza de derecha a izquierda. Esta expresión ( x = y = z) se ejecutará en pasos:
  • y = z, es decir, y = 256
  • x = y, es decir x = 256

Operaciones unarias

Se les llama "unarios" de la palabra "uno" - "uno". Recibieron este nombre porque, a diferencia de los anteriores, se realizan sobre un número y no sobre varios. Éstas incluyen:
  • Menos unario. Invierte el signo del número.

    public class Main {
    
       public static void main(String[] args) {
    
           int x = 999;
    
           // cambia el signo por primera vez
           x = -x;
           System.out.println(x);
    
           // cambia el signo por segunda vez
           x= -x;
           System.out.println(x);
       }
    }

    Salida de consola:

    
    -999
    999

    Usamos el menos unario dos veces. Como resultado, nuestro número se volvió negativo al principio y luego positivo nuevamente.

  • Incremento ( ++) y disminución ( --)

    Una operación ++aumenta un número en uno y una operación --lo disminuye en la misma unidad.

    public class Main {
    
       public static void main(String[] args) {
    
           int x = 999;
           x++;
           System.out.println(x);
    
           x--;
           System.out.println(x);
       }
    }

    Salida de consola:

    
    1000
    999
Esta forma de notación puede resultarle familiar si ha oído hablar del lenguaje C++. Con la ayuda de un nombre tan interesante, sus creadores transmitieron su idea: "C++ es una extensión del lenguaje C". Una versión popular mejorada del Bloc de notas se llama Notepad++ Punto importante. Hay dos tipos de operaciones de incremento y decremento: postfijo y prefijo. x++- notación postfijo ++x- notación prefijo ¿Cuál es la diferencia fundamental si pones más y menos antes o después del número? Veamos en un ejemplo:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
Salida de consola:

999
¡Hay algo mal! Queríamos incrementar xen 1 y asignar un nuevo valor a la variable y. Es decir, y debería ser igual a 1000. Pero tenemos un resultado diferente: 999. ¿Resulta que xno se incrementó y la operación de incremento no funcionó? Cómo funcionó. Para verificar esto, intente imprimir x en la consola al final :)
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
Salida de consola:

999
1000
De hecho, es por eso que la operación postfix se llama así: se realiza después de la expresión principal. Es decir, en nuestro caso: int y = x++; primero se ejecuta y = x(y se le asignará el valor inicial a la variable y x), y sólo después x++ ¿Qué pasa si no estamos satisfechos con este comportamiento? Necesitas usar la notación de prefijo:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
En este caso, funcionará primero ++x y solo después. y = x; Vale la pena recordar esta diferencia de inmediato para no cometer errores en un programa real, en el que todo el comportamiento puede cambiar debido a esto :)

Operaciones combinadas

Además, en Java existen las llamadas operaciones combinadas. Utilizan una combinación de dos operaciones:
  • Asignación
  • Operación aritmética
Esto incluye operaciones:
  • +=
  • -=
  • *=
  • /=
  • %=
Veamos un ejemplo:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
Salida de consola:

1032
x += ymedio x = x + y. Por motivos de brevedad, se utilizan dos caracteres seguidos. Esto también funciona con combinaciones de -=, *=y /=.%=

Operaciones lógicas

Además de las operaciones con números, Java también tiene operaciones con variables booleanas truey false. Estas operaciones se realizan mediante operadores lógicos.
  • !— Operador “NO”. Invierte el valor de una variable booleana

    public class Main {
    
       public static void main(String[] args) {
    
           boolean x = true;
           System.out.println(!x);
       }
    }

    Salida de consola:

    
    false

  • &&— operador “Y”. Devuelve un valor truesólo si ambos operandos son true.

    public class Main {
    
       public static void main(String[] args) {
    
           System.out.println(100 > 10 && 100 > 200);
           System.out.println(100 > 50 && 100 >= 100);
       }
    }

    Salida de consola:

    
    false
    true

    El resultado de la primera operación es false, ya que una de las condiciones es falsa, es decir, 100 > 200. El operador requiere que todas las condiciones sean verdaderas (como en la segunda línea, por ejemplo) &&para poder devolver .true

  • ||— Operador “O”. Devuelve truecuando al menos uno de los operandos es verdadero.

    Aquí nuestro ejemplo anterior funcionará de manera diferente:

    public class Main {
    
       public static void main(String[] args) {
    
           System.out.println(100 > 10 || 100 > 200);
       }
    }

    Salida de consola:

    
    true

    Выражение 100 > 200 по-прежнему ложно, но оператору “o” вполне достаточно, что первая часть (100 > 10) является истинной.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION