Hola a todos, hoy os explicare todos los operadores que podemos usar en Java.
Hay varios tipos de operadores:
- Asignación: asigna un valor a una variables. El operador de asignación es =, una vez asignado podemos reasignar de nuevo otro valor. Por ejemplo:
public class PruebaApp { public static void main(String[] args) { int a=30; boolean exito=true; a=40; exito=false; } }
Como vemos los iniciamos en un valor pero después, cambia su valor.
- Aritmético: permiten operar con números como sumar, restar, etc. Se pueden sumar variables que almacenen números . Estos son los operadores:
Operador | Función |
---|---|
+ | Suma dos valores. En String, significa concatenar dos cadenas. |
- | Resta dos valores. |
* | Multiplica dos valores. |
/ | Divide dos valores. |
% | Significa módulo, devuelve el resto de una división. |
Aquí os dejo un ejemplo:
public class PruebaApp { public static void main(String[] args) { int operador1 = 20; int operador2 = 15; int resultado=0; resultado= operador1+operador2; //resultado = 35 resultado= operador1-operador2; //resultado = 5 resultado= operador2-operador1; //resultado = -5 resultado= operador1*operador2; //resultado = 300 resultado= operador1/operador2; //resultado = 1 (como es int no incluye decimales) resultado= operador1%operador2; //resultado = 5 (el resto de la division) } }
También podemos combinar los operadores de asignación y aritméticos. Se forman con la variable el operador aritmético seguido del de asignación y por ultimo la otra variable. Por ejemplo: operador1 +=operador2. Es equivalente a operador1=operador1+operador2. Puedes hacer lo mismo con los anteriores operadores aritméticos.
- Unarios: requieren un solo operando, existe el operador ++ y –. Es similar a sumar o restar una unidad a la variable. Tened en cuenta que el orden del operador es importante. Veamos un ejemplo:
public class PruebaApp { public static void main(String[] args) { int operador=10; int x=0; operador++; //operador = 11 operador++; //operador = 12 operador--; //operador = 11 x=operador++; //x = 11, operador = 12 x=++operador; //x = 13, operador = 13 } }
Como vemos el valor cambia según la localización del operador, la única diferencia es cuando incrementa el valor, cuando esta antes de la variable se produce un pre-incremento, es decir, se incrementa antes de asignar, cuando esta después se incrementa después de la asignación. No te preocupes si no lo entiendes demasiado, lo mas usado es este ultimo.
- Relación: son operadores para comparar valores, de esta comparación se crea una variable booleana. Estos son los operadores:
Operador | Descripción |
---|---|
== | igual a |
!= | distinto a |
> | mayor que |
< | menor que |
>= | mayor o igual que |
<= | menor o igual que |
Veamos un ejemplo:
public class PruebaApp { public static void main(String[] args) { int operador1=10; int operador2=20; int operador3=10; boolean resultado; resultado = operador1==operador2; // ¿10 es igual a 20? resultado = false resultado = operador1==operador3; // ¿10 es igual a 10? resultado = true resultado = operador1!=operador2; // ¿10 es distinto a 20? resultado = true resultado = operador1>operador2; // ¿10 es mayor que 20? resultado = false resultado = operador1>operador3; // ¿10 es mayor que 10? resultado = false (si no cumple la condicion sera falso) resultado = operador1<operador2; // ¿10 es menor que 20? resultado = true resultado = operador1<=operador3; // ¿10 es menor o igual que 10? resultado = true (ya que es igual) resultado = operador1>=operador2; // ¿10 es mayor o igual que 20? resultado = false } }
- Condicional: son operadores que permiten concatenar mas de una condición. Los operadores son:
Operador | Descripción |
---|---|
&& | Es equivalente a AND. Si se cumplen todas las condiciones, devuelve true. Si solo hay una condición que no se cumple, devuelve falso. |
|| | Es equivalente a OR. Si se cumple alguna de las condiciones, devuelve true. Si todas las condiciones son falsas, devuelve falso. |
Veamos un ejemplo:
public class PruebaApp { public static void main(String[] args) { int op1=10; int op2=20; int op3=10; boolean result; result = op1==10 && op2<30; // ¿Es 10 igual a 10 y es 20 menor que 30? resultado = true result = op1!=30 || op3==15; // ¿Es 10 distinto a 30 o es 10 igual a 10? resultado = true result = op1==op3 && op2<=30 || op2>=15; // ¿Es 10 igual que 10 y es 20 menor que 30 o es 10 mayor o igual que 15? resultado = true // Aqui primero se evalua las condiciones con && y el resultado de esta se compara con || } }
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Qué recuerdos me traen los operadores de Java de mi primer año de carrera de Ingeniería Informática. Recuerdo que tuve serios problemas para entender la diferencia entre el operador AND y el OR a la hora de usarlos programando.
Actualmente, quedándome una asignatura y el trabajo fin de grado, siento que aún me quedan muchísimas cosas que aprender de la Informática. Me encanta seguir a un blog tan completo como éste.
Nos vamos leyendo. Un saludo.
TRAFFIC-CLUB
http://www.mietereomausoleo.blogspot.com.es/
Gracias es muy didáctico su tema.
porque no agregas un enlace para poder descargar cada curso con sus ejercicios y conceptos. es una excelente Web.
El curso es un conjunto de post, tenemos un recopilatorio en la parte de arriba.
result = op1!=30 || op3==15;
// ¿Es 10 distinto a 30 o es 10 igual a 10? resultado = true
Por que desde «es 10 igual a 10» si el último número es 15 .. ¿no debería ser? … «Es 10 distinto a 30 o es 10 igual a 15». El tercer ejemplo es igual. Me podría explicar. Gracias.
public class PruebaApp {
public static void main(String[] args) {
int op1=10;
int op2=20;
int op3=10;
boolean result;
result = op1==op3 && op2=15;
// ¿Es 10 igual que 10 y es 20 menor que 30 o es 10 mayor o igual que 15? resultado = true
// Aqui primero se evalua las condiciones con && y el resultado de esta se compara con ||
Efectivamente en esta ultimo ejemplo de los operadores lógicos existe una inconsistencia, pero mira que los que lo han notado, un punto por que de eso se trata también programas de checar cada línea y ver si tiene sentido. aquí abajo esta corregido
result = op1==op3 && op2=15;
// ¿Es 10 igual que 10 y es 20 menor o igual que 30 o es 20 mayor o igual que 15? resultado = true
// Aquí primero se evalúa las condiciones con && y el resultado de esta se compara con ||
ahora en resumen seria así: – la primera condición es un true
– la segunda condición es un true ->estas dos condiciones están
dentro de un AND lo que su lógica es un true.
Ahora la tercera y ultima condición es un false y por ultimo buscamos en la lógica de OR donde nos dice que teniendo un true y un false nos da como resultado: TRUE
Si lo anterior lo as dejado confundidos busca tablas de AND y OR
Excelente, me esta sirviendo de mucho!!