1. Contenidos
Un operador es un símbolo que representa una operación a realizar con variables y genera un resultado. Es importante identificar los tipos de datos con los que operan los operadores y el tipo de dato del resultado.
Existen operadores de varios tipos:
- Aritméticos
- De Asignación
- De Comparación
- Lógicos
- Incremento y Decremento
- Para String y Character
1.1 Operadores Aritméticos
Realizan operaciones con tipos numéricos (int, double, float, etc.) y devuelven un resultado de tipo numérico.
Por ejemplo, si a = 15 y b = 4:
| Operador | Ejemplo | Resultado | Descripción |
| + | a + b | 19 | Suma (también concatena Strings) |
| - | a - b | 11 | Resta |
| * | a * b | 60 | Multiplicación |
| / | a / b | 3.75 | División con Float/Double |
| / | a / b | 3 |
División Entera. ¡Trunca el resultado! |
| % | a % b | 3 | Módulo (resto de la división) |
1.2 Operadores de Asignación
Asignan valor a una variable. Valor inicial de x = 10:
| Operador | Ejemplo | Equivale a | Resultado |
| = | x = 10 | | x = 10 |
| += | x += 5 | x = x + 5 | x = 15 |
| -= | x -= 3 | x = x - 3 | x = 7 |
| *= | x *= 2 | x = x * 2 | x = 20 |
| /= | x /= 2 | x = x / 2 | x = 5 |
| %= | x %= 3 | x = x % 3 | x = 1 |
1.3 Operadores de Comparación
Comparan dos datos (normalmente numéricos) y devuelven un valor booleano (true o false).
| Operador | Nombre | Ejemplo | Resultado | Explicación |
| == | Igual | num1 == num2 | true | Igual en valor |
| != | Diferente | num1 != num3 | true | Diferente en valor |
| < | Menor que | num1 < num3 | true | Menor que |
| > | Mayor que | num1 > num3 | false | Mayor que |
| <= | Menor o igual | num1 <= num3 | true | Menor o igual que |
| >= | Mayor o igual | num3 >= num1 | true | Mayor o igual que |
1.4 Operadores Lógicos
Operan con valores booleanos y devuelven valores booleanos.
| Operador | Nombre | Ejemplo | Resultado | Descripción |
| && | AND | true && false | false | Y lógico |
| || | OR | true || false | true | O lógico |
| ! | NOT | !true | false | NO lógico (negación) |
1.5 Operadores de Incremento y Decremento
Valor inicial de contador = 5:
| Operador | Nombre | Ejemplo | Resultado | Explicación |
| ++var | Pre-incremento | ++contador | contador = 6 | Incrementa, luego devuelve |
| var++ | Post-incremento | contador++ | contador = 6 | Devuelve, luego incrementa |
| --var | Pre-decremento | --contador | contador = 4 | Decrementa, luego devuelve |
| var-- | Post-decremento | contador-- | contador = 4 | Devuelve, luego decrementa |
Importante: El pre-incremento cambia el valor antes de usarlo en la expresión; el post-incremento lo usa primero y luego cambia el valor.
1.6 Operadores para String y Character
Los datos de tipo String y Character pueden concatenarse con el operador +:
String a = "Hola";
String b = "Mundo";
Character c = ' ';
String d = a + c + b; // "Hola Mundo"
También puede utilizarse el operador de asignación y concatenación +=:
String saludo = "Hola";
saludo += ' ';
saludo += "Mundo"; // ahora saludo vale "Hola Mundo"
Precaución: La concatenación con números puede dar resultados inesperados: "El total es " + 5 + 3 produce "El total es 53", pero 5 + 3 + " es el total" produce "8 es el total".
1.7 Operador Ternario (condicional)
Es el único operador que trabaja con tres operandos. Sintaxis: condición ? valor_si_true : valor_si_false
Integer edad = 18;
String mensaje = (edad >= 18) ? "Eres mayor de edad" : "Eres menor de edad";
System.out.println(mensaje);
2. Ejercicios
2.1 Calculadora de Operadores (Nivel básico)
Crea una clase llamada CalculadoraOperadores que realice las siguientes operaciones con dos números enteros a = 25 y b = 7:
- Muestra la suma, resta, multiplicación, división y módulo.
- Realiza una asignación compuesta:
a += b y muestra el nuevo valor de a.
- Compara
a con b usando >, < y ==, mostrando un mensaje como "¿25 es mayor que 7? true".
- Usa un operador lógico: muestra el resultado de
(a > b) && (b != 0).
- Crea un
String que sea la concatenación de los valores de a y b separados por un guión.
Ejemplo de salida esperada:
Suma: 32
Resta: 18
Multiplicación: 175
División: 3.5714285714285716
Módulo: 4
a += b -> a = 32
¿32 es mayor que 7? true
¿32 es menor que 7? false
¿32 es igual a 7? false
(32 > 7) && (7 != 0) = true
Concatenación: "32-7"
2.2 El Reloj Digital y la Lógica (Nivel intermedio)
Crea una clase llamada RelojLogico que simule un reloj digital con horas (0-23), minutos (0-59) y segundos (0-59). El programa debe:
- Declarar variables
hora, minuto, segundo con valores iniciales (por ejemplo, 23, 58, 45).
- Usar el operador módulo (
%) y división entera (/) para avanzar un segundo (incrementar y ajustar minutos/horas si es necesario).
- Mostrar la hora en formato
HH:MM:SS.
- Usar operadores de comparación y lógicos para determinar si es medianoche (00:00:00), mediodía (12:00:00) o hora punta (entre 7:00:00 y 9:00:00 o entre 18:00:00 y 20:00:00). Muestra un mensaje adecuado.
- Usar el operador ternario
? : para mostrar "Hora válida" o "Hora inválida" según si los valores están dentro de los rangos correctos.
Pista para avanzar un segundo:
segundo++;
if (segundo == 60) {
segundo = 0;
minuto++;
if (minuto == 60) {
minuto = 0;
hora = (hora + 1) % 24;
}
}
Extra: Haz que el reloj avance 3661 segundos (1 hora, 1 minuto y 1 segundo) desde la hora inicial y muestra el resultado final junto con las comprobaciones de medianoche/mediodía/hora punta.