Herramientas de usuario

Herramientas del sitio


clase:daw:prog:1eval:operadores

04 - Operadores

Cada tipo de dato en Java puede utilizar determinados operadores para realizar operaciones o cálculos. Vamos a ver los más comunes.

Operador de asignación

El operador de asignación más común es el signo de igual (=). Se utiliza para asignar un valor a una variable:

int a;

a = 5;

Aunque su uso es bastante intuitivo, hay algunas consideraciones a tener en cuenta con el operador de asignación:

  • Para asignar un valor a una variable de tipo char tenemos que utilizar las comillas simples (').
  • Las variables de tipo boolean sólo pueden tomar los valores true o false.
  • Las variables de tipo String se tienen que definir con las comillas dobles ().
  • Si queremos escapar algún carácter cuando definimos un String lo debemos hacer con la barra invertida (\)

        int a;
        char c;
        boolean e;
        String f;
    
        a = 5;
    
        c = 'a';
    
    
        e = true;
        e = false;
    
        f = "Hola mundo";
        f = "Hola \"mundo\"";            

Operadores aritméticos

Los operadores aritméticos básicos en Java son la suma (+), resta (-), multiplicación (*), división (/) y módulo, o resto de la división entera (%).

        int a, b, resultado;
    
        a = 5;
        b = 3;

        resultado = a + b;
        System.out.println(resultado);
        resultado = a - b;
        System.out.println(resultado);
        resultado = a * b;
        System.out.println(resultado);
        resultado = a / b;
        System.out.println(resultado);
        resultado = a % b;
        System.out.println(resultado);

8
2
15
1
2

Podemos combinar el operador de asignación con operadores aritméticos para acortar expresiones:

  • +=: Suma el operando izquierdo con el operando derecho y asigna el resultado a la variable de la izquierda.
  • –=: Resta el operando izquierdo con el operando derecho y asigna el resultado a la variable de la izquierda.
  • *=: Multiplica el operando izquierdo con el operando derecho y asigna el resultado a la variable de la izquierda.
  • /=: Divide el operando izquierdo con el operando derecho y asigna el resultado a la variable de la izquierda.
  • %=: Calcula el módulo del operando izquierdo con el operando derecho y asigna el resultado a la variable de la izquierda.

Por ejemplo, la expresión:

a += b;

es equivalente a:

a = a + b;

Operadores unarios

Los operadores unarios se utilizan sobre un solo operando. Se usan para aumentar, disminuir o negar un valor:

  • -: Multiplicar el valor por -1.
  • +: Multiplica el valor por +1.
  • ++: Incrementa el valor en una unidad. Si se utiliza delante de la variable, primero aumenta el valor y luego se calcula el resultado. De lo contrario, primero se calcula el resultado y luego se incrementa la variable.
  • : Decrementa el valor en una unidad. Si se utiliza delante de la variable, primero decrementa el valor y luego se calcula el resultado. De lo contrario, primero se calcula el resultado y luego se decrementa la variable.
  • !: Niega el valor (usado sobre operadores lógicos).

a = -3;
System.out.println(-a);

a = 4;
System.out.println(a++);
a = 4;
System.out.println(++a);

e = true;
System.out.println(!e);

3
4
5
false

Operadores relacionales

Se utilizan para devolver el resultado de una comparación. Algunos de los operandos relacionales son:

  • ==: Devuelve true si los operandos son iguales. De lo contrario, devuelve false.
  • !=: Devuelve false si los operandos son iguales. De lo contrario, devuelve true.
  • <: Devuelve true si el primer operando es menor que el segundo. De lo contrario, devuelve false.
  • >: Devuelve true si el primer operando es mayor que el segundo. De lo contrario, devuelve false.
  • : Devuelve true si el primer operando es menor o igual que el segundo. De lo contrario, devuelve false.
  • >=: Devuelve true si el primer operando es mayor o igual que el segundo. De lo contrario, devuelve false.

a = 3;
b = 5;
System.out.println(a>b);

false

Operadores lógicos

Se utilizan para realizar operaciones lógicas AND y OR:

  • &&: AND lógico.
  • ||: OR lógico.

a = 3;
b = 5;

System.out.println(a<b && a==4);
System.out.println(a<b || a==4);

false
true

Métodos de la clase String

Como vimos en el tema anterior, una variable de tipo String es en realidad un objeto de la misma clase. Aunque no tiene operadores como tal, tiene algunos métodos muy utilizados que conviene conocer. A continuación veremos algunos de esos métodos. Si quieres saber todos los que tiene, puedes visitar la documentación de Java:

  • int length(): Devuelve la cantidad de caracteres cadena.

f = "Hola mundo";
System.out.println(f.length());

10

  • char charAt(int i): Devuelve el carácter en la posición i (la primera posición es la 0).

System.out.println(f.charAt(3));

a

  • String substring(int i, int j): Devuelve la subcadena desde el carácter en la posición i hasta la posición j. Si no se pasa el parámetro j, se devuelve la subcadena hasta el final de la cadena.

System.out.println(f.substring(0, 3));
System.out.println(f.substring(7));

Hol
ndo

  • int indexOf(String s, int i): Devuelve el índice de la primera aparición de la subcadena s empezando por el índice i especificado. Si no se pasa el parámetro i, empieza por el principio de la cadena

System.out.println(f.indexOf("mun"));
System.out.println(f.indexOf("o", 4));

5
9

  • toUpperCase()/toLowerCase(): Devuelve la cadena con todas las letras en mayúsculas/minúsculas.

System.out.println(f.toUpperCase());

HOLA MUNDO

  • equals(): Compara dos cadenas y devuelve true si son iguales o false en caso contrario.

        String g = "Hola mundo";
        System.out.println(f.equals(g));
        String h = "Hola universo";
        System.out.println(f.equals(h));

true
false

Ejercicios

Ejercicio 1.a

Escribe un programa que pida dos números de tipo float al usuario. La aplicación deberá sacar por pantalla la suma, resta, multiplicación, división y resto de la división entera de ambos números.

Ejercicio 1.b

Haz que el programa anterior muestre los resultados como enteros, sin modificar el tipo de las variables.

Ejercicio 1.c

Utiliza el método format() de la clase String para formatear el resultado de las operaciones con solo 2 decimales.

Ejercicio 2.a

Escribe un programa en Java que saque por pantalla la raíz cuadrada de un número introducido por el usuario. Para calcular la raíz cuadrada, utiliza el método adecuado de la clase Math

Ejercicio 2.b

Haz que el resultado anterior se muestre con 3 decimales.

Ejercicio 3

Busca en la clase Math el método que permite elevar un número a una potencia. Escribe un programa en Java donde se introduzca por pantalla un número y la potencia a la que elevar dicho número y muestre el resultado formateado a dos decimales.

Ejercicio 4

Escribe un programa en Java con una constante de tipo String con el valor

"    hola mundo    "

Haz que se muestre por pantalla la frase en mayúsculas y sin espacios en blanco al principio y final de la cadena.

Ejercicio 5.a

Utiliza la clase Random para generar un número entero aleatorio entre 0 y 9

Ejercicio 5.b

Modifica la aplicación anterior para que el usuario introduzca el mínimo y el máximo entre los que se generará el número entero aleatorio.

clase/daw/prog/1eval/operadores.txt · Última modificación: 2023/09/22 09:35 por cesguiro