Java: operadores básicos

Java proporciona un amplio conjunto de operadores para manipular variables. Podemos dividir todos los operadores de Java en los siguientes grupos:

  • Operadores aritméticos
  • Operadores relacionales
  • Operadores bit a bit
  • Operadores logicos
  • Operadores de Asignación
  • Operadores varios

Los operadores aritméticos

Los operadores aritméticos se usan en expresiones matemáticas de la misma manera que se usan en álgebra. La siguiente tabla enumera los operadores aritméticos:

Suponga que la variable entera A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
+ (Adición) Agrega valores a ambos lados del operador. A + B dará 30
- (Resta) Resta el operando de la derecha del operando de la izquierda. A - B dará -10
* (Multiplicación) Multiplica los valores a ambos lados del operador. A * B dará 200
/ (División) Divide el operando de la izquierda por el operando de la derecha. B / A dará 2
% (Módulo) Divide el operando de la izquierda por el operando de la derecha y devuelve el resto. B% A dará 0
++ (Incremento) Aumenta el valor del operando en 1. B ++ da 21
- (Decremento) Disminuye el valor del operando en 1. B-- da 19

Los operadores relacionales

Existen los siguientes operadores relacionales compatibles con el lenguaje Java.

Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
== (igual a) Comprueba si los valores de dos operandos son iguales o no, si es así, la condición se convierte en verdadera. (A == B) no es cierto.
! = (no es igual a) Comprueba si los valores de dos operandos son iguales o no, si los valores no son iguales, la condición se convierte en verdadera. (A! = B) es cierto.
> (mayor que) Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A> B) no es cierto.
<(menor que) Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A <B) es cierto.
> = (mayor o igual que) Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A> = B) no es cierto.
<= (menor o igual que) Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. (A <= B) es cierto.

Los operadores bit a bit

Java define varios operadores bit a bit, que se pueden aplicar a los tipos de enteros, long, int, short, char y byte.

El operador bit a bit trabaja en bits y realiza operaciones bit a bit. Suponga si a = 60 y b = 13; ahora en formato binario serán los siguientes:

a = 0011 1100

b = 0000 1101

-----------------

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

~ a = 1100 0011

La siguiente tabla enumera los operadores bit a bit:

Suponga que la variable entera A tiene 60 y la variable B tiene 13, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
& (bit a bit y) El operador AND binario copia un bit al resultado si existe en ambos operandos. (A & B) dará 12 que es 0000 1100
| (bit a bit o) El operador OR binario copia un bit si existe en cualquiera de los operandos. (A | B) dará 61 que es 0011 1101
^ (XOR bit a bit) El operador binario XOR copia el bit si está configurado en un operando pero no en ambos. (A ^ B) dará 49 que es 0011 0001
~ (cumplido bit a bit) El operador de complemento binario es unario y tiene el efecto de "voltear" bits. (~ A) dará -61 que es 1100 0011 en forma de complemento a 2 debido a un número binario con signo.
<< (desplazamiento a la izquierda) Operador binario de desplazamiento a la izquierda. El valor de los operandos de la izquierda se mueve a la izquierda el número de bits especificado por el operando de la derecha. Un << 2 dará 240 que es 1111 0000
>> (desplazamiento a la derecha) Operador de cambio a la derecha binario. El valor de los operandos de la izquierda se mueve hacia la derecha el número de bits especificado por el operando de la derecha. A >> 2 dará 15 que es 1111
>>> (desplazamiento a la derecha de llenado cero) Desplazar operador de llenado de cero a la derecha El valor de los operandos de la izquierda se desplaza hacia la derecha el número de bits especificado por el operando de la derecha y los valores desplazados se rellenan con ceros. A >>> 2 dará 15 que es 0000 1111

Los operadores lógicos

La siguiente tabla enumera los operadores lógicos:

Suponga que las variables booleanas A son verdaderas y la variable B es falsa, entonces -

Mostrar ejemplos

Operador Descripción Ejemplo
&& (lógico y) Operador llamado lógico AND. Si ambos operandos son distintos de cero, la condición se cumple. (A && B) es falso
|| (lógico o) Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple. (A || B) es cierto
! (lógico no) Operador llamado lógico NOT. Úselo para revertir el estado lógico de su operando. Si una condición es verdadera, el operador NOT lógico la convertirá en falsa. ! (A && B) es cierto

Los operadores de asignación

A continuación se muestran los operadores de asignación admitidos por el lenguaje Java:

Mostrar ejemplos

Operador Descripción Ejemplo
= Operador de asignación simple. Asigna valores de los operandos del lado derecho al operando del lado izquierdo. C = A + B asignará el valor de A + B en C
+ = Agregar operador de asignación AND. Agrega operando derecho al operando izquierdo y asigna el resultado al operando izquierdo. C + = A es equivalente a C = C + A
- = Restar operador de asignación AND. Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo. C - = A es equivalente a C = C - A
* = Multiplica el operador de asignación AND. Multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo. C * = A es equivalente a C = C * A
/ = Operador de división Y asignación. Divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo. C / = A es equivalente a C = C / A
% = Operador de módulo Y asignación. Toma el módulo usando dos operandos y asigna el resultado al operando izquierdo. C% = A es equivalente a C = C% A
<< = Operador de desplazamiento Y asignación a la izquierda. C << = 2 es lo mismo que C = C << 2
>> = Operador de desplazamiento Y asignación a la derecha. C >> = 2 es lo mismo que C = C >> 2
& = Operador de asignación AND bit a bit. C & = 2 es lo mismo que C = C & 2
^ = Operador de asignación y OR exclusivo bit a bit. C ^ = 2 es lo mismo que C = C ^ 2
| = OR inclusivo bit a bit y operador de asignación. C | = 2 es lo mismo que C = C | 2

Operadores varios

Hay algunos otros operadores compatibles con Java Language.

Operador condicional (?:)

El operador condicional también se conoce como ternary operator. Este operador consta de tres operandos y se utiliza para evaluar expresiones booleanas. El objetivo del operador es decidir qué valor debe asignarse a la variable. El operador se escribe como -

variable x = (expression) ? value if true : value if false

A continuación se muestra un ejemplo:

Example

public class Test {

   public static void main(String args[]) {
      int a, b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );

      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}

Esto producirá el siguiente resultado:

Output

Value of b is : 30
Value of b is : 20

instancia de operador

Este operador se utiliza solo para variables de referencia de objeto. El operador comprueba si el objeto es de un tipo particular (tipo de clase o tipo de interfaz). El operador instanceof se escribe como -

( Object reference variable ) instanceof  (class/interface type)

Si el objeto referido por la variable en el lado izquierdo del operador pasa la verificación IS-A para el tipo de clase / interfaz en el lado derecho, entonces el resultado será verdadero. A continuación se muestra un ejemplo:

Example

public class Test {

   public static void main(String args[]) {

      String name = "James";

      // following will return true since name is type of String
      boolean result = name instanceof String;
      System.out.println( result );
   }
}

Esto producirá el siguiente resultado:

Output

true

Este operador todavía devolverá verdadero, si el objeto que se está comparando es la asignación compatible con el tipo de la derecha. A continuación se muestra un ejemplo más:

Example

class Vehicle {}

public class Car extends Vehicle {

   public static void main(String args[]) {

      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result );
   }
}

Esto producirá el siguiente resultado:

Output

true

Prioridad de los operadores de Java

La precedencia del operador determina la agrupación de términos en una expresión. Esto afecta cómo se evalúa una expresión. Algunos operadores tienen mayor precedencia que otros; por ejemplo, el operador de multiplicación tiene mayor precedencia que el operador de suma -

Por ejemplo, x = 7 + 3 * 2; aquí x se asigna 13, no 20 porque el operador * tiene mayor precedencia que +, por lo que primero se multiplica por 3 * 2 y luego se suma a 7.

Aquí, los operadores con mayor precedencia aparecen en la parte superior de la tabla, los que tienen la menor prioridad aparecen en la parte inferior. Dentro de una expresión, los operadores de mayor precedencia se evaluarán primero.

Categoría Operador Asociatividad
Sufijo expresión ++ expresión-- De izquierda a derecha
Unario ++ expresión –-expresión + expresión –expresión ~! De derecha a izquierda
Multiplicativo * /% De izquierda a derecha
Aditivo + - De izquierda a derecha
Cambio << >> >>> De izquierda a derecha
Relacional <> <=> = instancia de De izquierda a derecha
Igualdad ==! = De izquierda a derecha
Y bit a bit Y De izquierda a derecha
XOR bit a bit ^ De izquierda a derecha
O bit a bit | De izquierda a derecha
Y lógico && De izquierda a derecha
OR lógico || De izquierda a derecha
Condicional ?: De derecha a izquierda
Asignación = + = - = * = / =% = ^ = | = << = >> = >>> = De derecha a izquierda

¿Lo que sigue?

El próximo capítulo explicará sobre el control de bucles en la programación Java. El capítulo describirá varios tipos de bucles y cómo se pueden usar estos bucles en el desarrollo de programas Java y con qué fines se utilizan.