Operadores en Java

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:
OperadorFunció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:
OperadorDescripció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:
OperadorDescripció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.

Compartir

7 comentarios

  1. Alfredo

    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/

  2. Yuri Montenegro Barrantes

    Gracias es muy didáctico su tema.

  3. Milton

    porque no agregas un enlace para poder descargar cada curso con sus ejercicios y conceptos. es una excelente Web.

  4. Disco Duro de Roer Post author

    El curso es un conjunto de post, tenemos un recopilatorio en la parte de arriba.

  5. Jony

    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.

  6. john

    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

  7. Alberto Perez

    Excelente, me esta sirviendo de mucho!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *