Skip to main content

Operadores en JAVA

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