Java proporciona un conjunto diverso de operadores que pueden ser usados dependiendo de la necesidad estos se pueden clasificar según su funcionalidad:
- Operadores Aritméticos
- Operador de Asignación
- Operadores Lógicos
- Operadores Especiales o Unarios
- Operadores Relacionales
Operadores Aritméticos
Utilizados para realizar operaciones aritméticas básicas en los tipos de datos primitivos.
+ Suma a + b - Resta a - b * Multiplicación a * b / División a / b % Módulo a % b
public class OperadoresAritmeticos
{
public static void main(String[] args)
{
int suma = 3 + 7; // Retorna 10
int resta = 5 - 2; // Retorna 3
int multiplicacion = 3 * 2; // Retorna 6
int division = 4 / 2; // Retorna 2
int resto = 5 % 3; // Retorna 2
System.out.printf("suma = 3 + 7 -- Retorna : %d%n", suma);
System.out.printf("resta = 5 - 2 -- Retorna : %d%n", resta);
System.out.printf("multiplicacion = 3 * 2 -- Retorna : %d%n", multiplicacion);
System.out.printf("division = 4 / 2 -- Retorna : %d%n", division);
System.out.printf("resto = 5 %% 3 -- Retorna : %d%n", resto);
}
}
Salida
suma = 3 + 7 -- Retorna : 10
resta = 5 - 2 -- Retorna : 3
multiplicacion = 3 * 2 -- Retorna : 6
division = 4 / 2 -- Retorna : 2
resto = 5 % 3 -- Retorna : 2
Operadores de Asignación
Son aquellos operadores que se usan para poder asignar un valor a una determinada variable. Las asignaciones se realizan usando el signo de igualdad colocando el identificador de variable o constante del lado izquierdo luego el signo de igualdad y a continuación el valor a asignar. El operador de asignación se puede combinar con otros operadores mediante una composición o declaración compuesta.
Observemos el ejemplo:
= Asignación a = b Igualamos a con el valor de b += Suma y asignación a += b (a=a + b) -= Resta y asignación a -= b (a=a - b) *= Multiplicación y asignación a *= b (a=a * b) /= División y asignación a /= b (a=a / b) %= Módulo y asignación a %= b (a=a % b)
public class OperadoresAsignacion
{
public static void main(String[] args)
{
int suma = 3 ;
int resta = 5 ;
int multiplicacion = 3 ;
int division = 4 ;
int resto = 5 ;
System.out.println(" ASIGNACION ");
System.out.printf(" suma = %d%n", suma);
System.out.printf(" resta = %d%n", resta);
System.out.printf(" multiplicacion = %d%n", multiplicacion);
System.out.printf(" division = %d%n", division);
System.out.printf(" resto = %d%n", resto);
suma +=7; // Retorna 10
resta -=2; // Retorna 3
multiplicacion *=2; // Retorna 6
division /=3; // Retorna 2
resto %=3; // Retorna 2
System.out.println(" OPERADORES ASIGNACION ");
System.out.printf(" suma +=7 -- Retorna : %d%n", suma);
System.out.printf(" resta -=2 -- Retorna : %d%n", resta);
System.out.printf(" multiplicacion *=2 -- Retorna : %d%n", multiplicacion);
System.out.printf(" division /=3 -- Retorna : %d%n", division);
System.out.printf(" resto %%=3 -- Retorna : %d%n", resto);
}
}
Salida
ASIGNACION
suma = 3
resta = 5
multiplicacion = 3
division = 4
resto = 5
OPERADORES ASIGNACION
suma +=7 -- Retorna : 10
resta -=2 -- Retorna : 3
multiplicacion *=2 -- Retorna : 6
division /=3 -- Retorna : 1
resto %=3 -- Retorna : 2
Operadores Lógicos
Estos operadores se usan por lo general para la toma de decisiones o para el manejo a nivel de bits de forma muy similar a como se opera en la electronica.
&& Representa AND el valor del conector lógico 'Y' || Representa OR el valor del conector lógico 'O' ! Representa NOT el valor del conector lógico 'No' o negación (También considerado unario o especial)
public class OperadoresLogicos
{
public static void main(String[] args)
{
int a = 13 ;
int b = 5 ;
int c = 5 ;
System.out.printf(" OPERADORES LOGICOS %n");
System.out.printf(" AND (&&) (a == b=%b && b >= c=%b) ->%b%n", a == b, b>=c, a == b && b>=c );
System.out.printf(" OR (||) (a == b=%b || b >= c=%b) ->%b%n", a == b, b>=c, a == b || b>=c );
System.out.printf(" NOT (!) !(a == b)=%b && !(b >= c)=%b ->%b%n", !(a == b), !(b>=c), !(a == b) && !(b>=c) );
}
}
Salida
OPERADORES LOGICOS
AND (&&) (a == b=false && b >= c=true) ->false
OR (||) (a == b=false || b >= c=true) ->true
NOT (!) !(a == b)=true && !(b >= c)=false ->false
Operadores Especiales o Unarios
Estos operadores nos permitirán incrementar, decrementar o negar el valor de un único operando.
++ Incremento a++ (postincremento) ++a (preincremento) -- Decremento a-- (postdecremento) --a (predecremento)
public class OperadoresEspeciales
{
public static void main(String[] args)
{
int a = 13 ;
System.out.printf("OPERADORES ESPECIALES \n");
System.out.printf("a = %d%n", a );
System.out.printf("a++\t(postincremento) %d%n", a++ );
System.out.printf("a Se imprime ya incrementada %d%n", a );
}
}
Salida
OPERADORES ESPECIALES
a = 13
a++ (postincremento) 13
a Se imprime ya incrementada 14
Operadores Relacionales
Estos operadores se usan para realizar comparaciones entre valores que resultarán en un valor verdadero (true)
o falso (false)
== Igualdad a == b != Distinto a != b < Menor que a < b > Mayor que a > b <= Menor o igual que a <= b >= Mayor o igual que a >= b
public class OperadoresRelacionales
{
public static void main(String[] args)
{
int a = 13 ;
int b = 5 ;
System.out.printf(" OPERADORES RELACIONALES a=%d b=%d %n",a , b);
System.out.printf(" == Igualdad a == b ->%b%n", a == b );
System.out.printf(" != Distinto a != b ->%b%n", a != b );
System.out.printf(" < Menor que a < b ->%b%n", a < b );
System.out.printf(" > Mayor que a > b ->%b%n", a > b );
System.out.printf(" <= Menor o igual que a <= b ->%b%n", a <= b );
System.out.printf(" >= Mayor o igual que a >= b ->%b%n", a >= b );
}
}
Salida
OPERADORES RELACIONALES a=13 b=5
== Igualdad a == b ->false
!= Distinto a != b ->true
< Menor que a < b ->false
> Mayor que a > b ->true
<= Menor o igual que a <= b ->false
>= Mayor o igual que a >= b ->true