viernes, 23 de septiembre de 2016

5-Operadores en Java

En los tutoriales anteriores ya hemos visto el uso de variables y los datos primitivos, de referencia...., es decir, sabemos almacenar información de distintos tipos de datos en variables, pero todavía no hemos visto cómo realizar operaciones con ellos como sumar variables, restar .... Para ello veremos los distintos tipos de operadores que podemos utilizar o que nos podemos encontrar en un programa Java.


5.1-Operadores Aritméticos

Los operadores aritméticos son aquellos con los que podemos realizar operaciones matemáticas o aritméticas. Nos podemos encontrar con:

  • La resta (-)
  • La suma (+)
  • La multiplicación (*)
  • La división (/)
  • El resto (%). El resto lo que hace es devolver el resto de una división entera. Por ejemplo 25%23 nos daría como resultado el resto 1
Veamos con un ejemplo en código todas estos operadores:


class Operadores {
    public static void main(String[] args) {

        double notaMedia = 8.964;

        double notas = 6.458;

        //Uitlizamos el nombre de las variables para realizar la operación suma.

        double suma = notaMedia + notas;
        System.out.println("La suma entre notaMedia y notas es: " + suma);

        //también podríamos mostrarlo por pantalla así:

        System.out.println("La suma entre notaMedia y notas es: " + (notaMedia+notas));

        

        //Podemos restar un número double en vez de poner el nombre 

        //de la variable

        double notasRestadas = notaMedia - 6.458;

        System.out.println("La resta es: " + notasRestadas);

        

        /*

        Creamos otras variables, ahora de tipo entero para seguir viendo

        los otros operadores

        */

        int cajas = 8;

        int tornillosCajas = 125;

        //Vamos a hacer la multiplicación sin crear una variable que almacene

        //el resultado.

        System.out.println("Hay en total: " + cajas*tornillosCajas + " tornillos");

        

        //Veamos el operador de división y el de residuo

        int horasDia = 40;

        int diasSemana = 5;

        System.out.println("Se trabajan " + horasDia/diasSemana + " horas al día.");

        //Aunque como ya hemos visto también podríamos almacenar el resultado 

        //en otra variable:

        int resultadoDivision = horasDia/diasSemana;

        

        int res1 = 25;

        int res2 = 3;

        int resultadoResiduo = res1%res2;

        System.out.println("El resto de dividir " + res1 + " entre " + res2 

        + " es: " + resultadoResiduo);

    }

}

5.1.1-Operadores de Incremento y Decremento

Los operadores de incremento y decremento se utilizan mucho en los llamados loops o bucles y pueden ser prefijos o sufijos. Estos operadores lo que hacen es aumentar o disminuir en 1 la variable. En la siguiente imagen se muestra cómo se declaran estas variables.


Estos operadores pueden ir delante o detrás de la variable, si van detrás de la variable son prefijos y si van delante de la variable son sufijos. El lugar en que se colocan, si delante o detrás, tiene que ver y es importante conocer qué realiza si el operador se realiza como prefijo o como sufijo. Un pequeño ejemplo:

int x = 4;

int valor = x++ * 10;

System.out.println(valor);


Vemos que el valor inicial de x es 4 y luego en la variable valor se almacenará el resultado de la operación, ¿Qué resultado dará? Podemos observar que el operador de incremento es sufijo porque va delante de la variable. Al ser sufijo lo que hace es que, primero realiza la operación matemática (4*10) y luego aumenta el valor de x. Para verlo mejor vamos a añadir una línea de código a nuestro ejemplo para ver ahora el valor que tiene x.

int x = 4;

int valor = x++ * 10;

System.out.println(valor);//Imprimirá 40 por consola

System.out.println(x);//Imprimirá 5 por consola


Vemos que primero realiza la operación con el valor de x y después añade en 1 el valor de x y pasa a valer 5.
Ahora vamos a ver qué es lo que ocurre si, en vez con un operador de incremento(daría igual si fuese de incremento que de decremento) sufijo lo hacemos con un prefijo.

int x = 4;

int valor = ++x * 10;

System.out.println(valor);

System.out.println(x);


Lo que ocurre en este caso es que al ser prefijo, primero cambia el valor de la variable, es decir, x pasa a valer 5, y después realiza la operación (5*10). Si observamos el resultado nos dará que valor vale 50 y x vale 5.

5.2-Operador de asignación.

Hemos estado utilizando el operador de asignación ya muchas veces. El operador de asignación es el símbolo '=' que lo hemos utilizado para asignar un valor a una variable. A parte de este operador (=) Java proporciona otros operadores de asignación combinados con los operadores aritméticos, que permiten abreviar o reducir ciertas expresiones.
Por ejemplo, el operador '+='. Este operador suma el valor de la expresión a la derecha del operador con el valor de la variable que hay en la izquierda del operador, y almacena el resultado en dicha variable. Veámoslo con un ejemplo sencillo:

int x = 5;

int y = 2;

x += y;//Suma el valor de x al valor de y. Es lo mismo que poner x = x + y


Si imprimimos el valor de x vemos que vale 7, si probamos a hacerlo de la otra manera (la manera comentada en el código) veremos que también nos dará 7, lo que hacen estos operadores es reducir la escritura de código.

Aparte del operador += se puede utilizar también para restar, dividir, multiplicar y resto.

  • +=
  • -=
  • *=
  • /=
  • %=
La función de estos operadores es la misma que hemos explicado para +=, con la diferencia del operador que utilicemos en cada caso, -= restará, *= multiplicará.....

5.3-Operadores de Relación.

Los operadores de relación se utilizan para comparar datos de tipo primitivo (numérico, carácter y booleano). El resultado se utilizarán en otras sentencias, que ejecutarán una acción u otra en función de si se cumple o no la relación. Estas sentencias dan siempre como resultado un valor booleano (true o false). Estos operadores los utilizaremos muy a menudo cuando veamos los condicionales y los bucles. Los operadores de relación son (sin las comillas simples):
  • '=='.  variable1 == variable2. No confundir con =, porque '=' significa que le asignamos un valor a una variable y '==' comprueba si una variable es igual a otra devolviendo true o false.
  • '!='. variable1!= variable2. Comprueba si la variable1 es distinta a la variable2
  • '>'. variable1 > variable2. Comprueba si la variable1 es mayor que la variable2
  • '<'. variable1 < variable2. Comprueba si la variable1 es menor que la variable2
  • '>='. variable1 >= variable2. Comprueba si la variable1 es mayor o igual que la variable2
  • '<='. variable1 <= variable2. Comprueba si la variable1 es menor o igual que la variable2. 

5.4-Operadores Lógicos

Los operadores lógicos realizan operaciones sobre valores booleanos o resultados de expresiones relacionases, dando como resultado un valor booleano. Los vemos en la siguiente imagen:


No vamos a ver ningún ejemplo de los operadores en código porque estos operadores, tanto los de relación como los lógicos, los vamos a utilizar cuando veamos los condicionales.


En el siguiente tutorial veremos cómo introducir datos por teclado viendo la clase Scanner.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...