English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Java Control de flujo

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (lista)

Java Cola (cola)

Java Map colección

Java Set colección

Java Entrada/Salida (I/O)/O)

Java Reader/Writer

Otros temas de Java

Operadores de Java

Una de las aplicaciones más básicas de la computadora es ejecutar operaciones matemáticas, y como lenguaje de computadora, Java también proporciona un conjunto rico de operadores para manipular variables. Podemos dividir los operadores en los siguientes grupos:

  • Operadores aritméticos

  • Operadores de relación

  • Operadores de bits

  • Operadores lógicos

  • Operadores de asignación

  • Otros operadores

Operadores aritméticos

Los operadores aritméticos se utilizan en expresiones matemáticas, y sirven igual que en matemáticas. La siguiente tabla enumera todos los operadores aritméticos.

Las ejemplos en la tabla asumen que el valor de la variable entera A es10, el valor de la variable B es20:

                Operador                Descripción                Ejemplo
+Adición - Los valores a ambos lados del operador de adiciónA + B es igual a 30
-Sustracción - El operando izquierdo restado por el operando derechoA - B es igual -10
*Multiplicación - Los valores a ambos lados del operador de multiplicaciónA * B es igual200
/División - El operando izquierdo dividido por el operando derechoB / A es igual2
Obtener el residuo - El residuo de la división del operando izquierdo por el operando derechoB % A es igual a 0
++Incremento: el valor del operando aumenta1B++ o ++B es igual a 21(区别详见下文)
--Decremento: el valor del operando disminuye1B-- o --B es igual a 19(区别详见下文)

Ejemplo

El siguiente ejemplo simple de programa muestra los operadores aritméticos. Copie y pegue el siguiente programa Java y guárdelo como archivo ArithmeticOperator.java, luego compórtelo y ejecute este programa:

class OperadorAritmético {
    public static void main(String[] args) {
        
        double número1 = 12.5, number2 = 3.5, result;
        
        //Uso del operador de adición
        result = número1 + número2;
        System.out.println("número1 + número2 = \ + result);
        
        //Uso del operador de sustracción
        result = número1 - número2;
        System.out.println("número1 - número2 = \ + result);
        
        //Uso del operador de multiplicación
        result = número1 * número2;
        System.out.println("número1 * número2 = \ + result);
        //Uso del operador de división
        result = número1 / número2;
        System.out.println("número1 / número2 = \ + result);
        
        // Uso del operador de residuo
        result = número1 % número2;
        System.out.println("número1 % número2 = \ + result);
    }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

número1 + número2 = 16.0
número1 - número2 = 9.0
número1 * número2 = 43.75
número1 / número2 = 3.5714285714285716
número1 % número2 = 2.0

Operadores de suma y resta

1、Suma incremental++)Resta incremental--)OperadorEs un operador aritmético especial, que necesita dos operandos para realizar operaciones en los operadores aritméticos, mientras que los operadores de suma y resta son un operando.

public class selfAddMinus{
    public static void main(String[] args){
        int a = 3;//Definir una variable;
        int b = ++a;//Operación de suma incremental
        int c = 3;
        int d = --c;//Operación de resta incremental
        System.out.println("El valor después de la operación de suma incremental es igual a"+b);
        System.out.println("El valor después de la operación de resta incremental es igual a"+);
    }
}

El resultado de la ejecución es:

El valor después de la operación de suma incremental es igual a4
El valor después de la operación de resta incremental es igual a2

Análisis:

  • int b = ++; Divida el proceso de operación en: a=a+1=4; b=a=4, el resultado final es b=4,a=4

  • int d = --; Divida el proceso de operación en: c=c-1=2; d=c=2, el resultado final es d=2,c=2

2、suma incremental prefix (++a,--a): Primero realice la suma o resta incremental, luego realice la operación de expresión.

3、suma incremental postfix (a++,a--) Primero realice la operación de expresión, luego realice la suma o resta incremental Ejemplo:

public class selfAddMinus{
    public static void main(String[] args){
        int a = 5;//Definir una variable;
        int b = 5;
        int x = 2*++a;
        int y = 2*b++;
        System.out.println("El operando de la suma incremental prefix se evalúa y luego a="+a+",x="+);
        System.out.println("El operando de la suma incremental postfix se evalúa y luego b="+b+",y="+);
    }
}

El resultado de la ejecución es:

, el operando de la suma incremental prefix se evalúa y luego a=6, x=12, el operando de la suma incremental postfix se evalúa y luego b=6, y=10

Operadores de relación

La siguiente tabla muestra los operadores de relación soportados por Java

, el valor de la variable entera A en la tabla es10, el valor de la variable B es20:

Operadores    Descripción    Ejemplo
    ==Verifique si los valores de los operandos son iguales, si lo son, la condición es verdadera.(A == B) es falso.
    !=Verifique si los valores de los operandos son iguales, si no lo son, la condición es verdadera. (A != B) es verdadero.
    > Verifique si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición es verdadera.(A > B) es falso.
    <  Verifique si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición es verdadera.(A < B) es verdadero.
    >=Verifique si el valor del operando izquierdo es mayor o igual al valor del operando derecho, si es así, la condición es verdadera.(A >= B) es falso.
    <=Verifique si el valor del operando izquierdo es menor o igual al valor del operando derecho, si es así, la condición es verdadera.(A <= B) es verdadero.

Ejemplo

El siguiente ejemplo simple de programa muestra los operadores de relación. Copie y pegue el siguiente programa Java y guárdelo como archivo Test.java, luego compílelo y ejecute el programa:

Código del archivo Test.java:

public class Test {
 
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     System.out.println("a == b = ") + (a == b) ;
     System.out.println("a != b = ") + (a != b) ;
     System.out.println("a > b = ") + (a > b) ;
     System.out.println("a < b = ") + (a < b) ;
     System.out.println("b >= a = ") + (b >= a) ;
     System.out.println("b <= a = ") + (b <= a) ;
  }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false

Operadores de bits

Java define operadores de bits, aplicables a tipos enteros (int), long, short, char y byte, entre otros.

Los operadores de bits actúan en todos los bits y operan bit a bit. Supongamos que a = 60, b = 13;su representación en formato binario será como sigue:

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 las operaciones básicas de los operadores de bits, asumiendo que el valor de la variable entera A es 60 y el valor de la variable B es 13:

OperadorDescripciónEjemplo
si los bits correspondientes son1entonces el resultado es1de lo contrario es 0(A&B), se convierte en12es 0000 1100
|si los bits correspondientes son 0, el resultado es 0, de lo contrario es 1(A | B) se convierte en61es 0011 1101
^si los valores de los bits correspondientes son iguales, el resultado es 0, de lo contrario es1(A ^ B) se convierte en49es 0011 0001
~El operador de inversión bit a bit invierte cada bit del operando, es decir, 0 se convierte en1,1en 0.(~A) se convierte en-61es1100 0011
<< Operador de desplazamiento a la izquierda bit a bit. El operando izquierdo se desplaza a la izquierda en el número de posiciones especificado por el operando derecho.A << 2Obtener240, es 1111 0000
>> Operador de desplazamiento a la derecha bit a bit. El operando izquierdo se desplaza a la derecha bit a bit en el número de posiciones especificado por el operando derecho.A >> 2Obtener15es 1111
>>> Operador de desplazamiento a la derecha lógico. El valor del operando izquierdo se desplaza a la derecha en el número de posiciones especificado por el operando derecho, y los bits vacíos se rellenan con ceros.A>>>2Obtener15es 0000 1111

Ejemplo

Este ejemplo simple de programa muestra los operadores de bits. Copie y pegue el siguiente programa Java y guárdelo como archivo Test.java, luego compílelo y ejecute el programa:

public class Test {
  public static void main(String[] args) {
     int a = 60; /* 60 = 0011 1100 */ 
     int b = 13; /* 13 = 0000 1101 */
     int c = 0;
     c = a & b;       /* 12 = 0000 1100 */
     System.out.println("a & b = \ + c );
 
     c = a | b;       /* 61 = 0011 1101 */
     System.out.println("a | b = \ + c );
 
     c = a ^ b;       /* 49 = 0011 0001 */
     System.out.println("a ^ b = \ + c );
 
     c = ~a;          /*-61 = 1100 0011 */
     System.out.println("~a = \ + c );
 
     c = a << 2;     /* 240 = 1111 0000 */
     System.out.println("a << 2 = \ + c );
 
     c = a >> 2;     /* 15 = 1111 */
     System.out.println("a >> 2  = \ + c );
  
     c = a >>> 2;     /* 15 = 0000 1111 */
     System.out.println("a >>> 2 = \ + c );
  }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2  = 15
a >>> 2 = 15

Operadores lógicos

La siguiente tabla enumera las operaciones básicas de los operadores lógicos, asumiendo que la variable booleana A es verdadera y la variable B es falsa

OperadorDescripciónEjemplo
&&Se llama operador lógico de y. La condición es verdadera solo cuando ambos operandos son verdaderos.(A && B) es falso.
| |Se llama operador lógico de o. Si cualquier operando de los dos es verdadero, la condición es verdadera.(A || | B) es verdadero.
Se llama operador lógico de no. Se utiliza para invertir el estado lógico del operando. Si la condición es verdadera, el operador lógico de no obtiene falso.!(A && B) es verdadero.

Ejemplo

El siguiente ejemplo de programa simple muestra los operadores lógicos. Copie y pegue el siguiente programa Java y guárdelo como archivo Test.java, luego compílelo y ejecute el programa:

public class Test {
  public static void main(String[] args) {
     boolean a = true;
     boolean b = false;
     System.out.println("a && b = ") + (a&&b));
     System.out.println("a || b = ") + (a||b) );
     System.out.println("!(a && b) = ") + !(a && b));
  }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

a && b = false
a || b = true
!(a && b) = true

Operador lógico de cortocircuito

Cuando se utiliza el operador lógico, el resultado es verdadero solo cuando ambos operandos son verdaderos, pero cuando se obtiene el primer operando como falso, el resultado es inevitablemente falso, en este caso ya no se juzga el segundo operando.

public class LuoJi{}}
    public static void main(String[] args){
        int a = 5;//Definir una variable;
        boolean b = (a<4) && (a++<10);
        System.out.println("El resultado de usar el operador de cortocircuito es ",+b);
        System.out.println("El resultado de a es ",+a);
    }
}

El resultado de la ejecución es:

el resultado de usar el operador de cortocircuito es false
el resultado de a es5

Análisis:Este programa utiliza operadores lógicos de cortocircuito (&&), primero juzgar a<4 el resultado es false, entonces el resultado de b debe ser false, por lo que no se ejecuta la segunda operación a++<10 la condición, por lo que el valor de a es 5。

Operadores de asignación

Los operadores de asignación soportados por el lenguaje Java son los siguientes:

OperadorDescripciónEjemplo
=Operador de asignación simple, que asigna el valor del operando derecho al operando izquierdoC = A + B asignará A + El valor obtenido por B se asigna a C
+ =Operador de suma y asignación, que asigna el resultado de la suma de los operandos izquierdo y derecho al operandos izquierdoC + = A equivalente a C = C + A
- =Operador de resta y asignación, que asigna el resultado de la resta de los operandos izquierdo y derecho al operandos izquierdoC - = A equivalente a C = C - A
* =Operador de multiplicación y asignación, que asigna el resultado de la multiplicación de los operandos izquierdo y derecho al operandos izquierdoC * = A equivalente a C = C * A
/ =Operador de división y asignación, que asigna el resultado de la división de los operandos izquierdo y derecho al operandos izquierdoC / = A, equivalente a C = C cuando C y A son del mismo tipo / A
(%)=Operador de módulo y asignación, que asigna el módulo de los operandos izquierdo y derecho al operandos izquierdoC %= A equivalente a C = C % A
<< =Operador de asignación de desplazamiento a la izquierdaC << = 2equivalente a C = C << 2
>> =Operador de asignación de desplazamiento a la derechaC >> = 2equivalente a C = C >> 2
&=Operador de asignación de and lógicoC&= 2equivalente a C = C&2
^ =Operador de asignación de xor lógicoC ^ = 2equivalente a C = C ^ 2
| =Operador de asignación de or lógicoC | = 2equivalente a C = C | 2

Ejemplo

El siguiente programa de ejemplo simple muestra el operador de asignación. Copie y pegue el siguiente programa Java y guárdelo como archivo AssignmentOperator.java, luego compílelo y ejecute el programa:

class AssignmentOperator {
    public static void main(String[] args) {
        
        int number1, number2;
        
        //Asignar5asignar a número1
        número1 = 5;
        System.out.println(number1);
                
        //Asignar la variable número2se asigna el valor a número1
        número2 = number1;
        System.out.println(number2);
    }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

5
5

Operador condicional (?:)

El operador condicional también se conoce como operador ternario. Este operador tiene3Un operando y necesita determinar el valor de la expresión booleana. El operador principal es decidir qué valor debe asignarse a la variable.

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

Ejemplo

public class Test {
   public static void main(String[] args){
      int a , b;
      a = 10;
      // Si a es igual a 1 se establece b a 20, de lo contrario es 30
      b = (a == 1) ? 20 : 30;
      System.out.println( "El valor de b es: "} +  b );
 
      // Si a es igual a 10 se establece b a 20, de lo contrario es 30
      b = (a == 10) ? 20 : 30;
      System.out.println( "El valor de b es: "} + b );
   }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

El valor de b es: 30
El valor de b es: 20

Operador instanceof

Este operador se utiliza para operar con ejemplos de objetos, para verificar si el objeto es un tipo específico (clase o interfaz de tipo).

El formato de uso del operador instanceof es el siguiente:

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

Si el objeto al que se refiere la variable de la izquierda del operador es una clase o interfaz (class/Si un objeto de una interfaz) es verdadero.

A continuación, se muestra un ejemplo:

String name = "James";
boolean result = name instanceof String; // Dado que name es del tipo String, devuelve verdadero

Si el objeto comparado es compatible con el tipo de la derecha, este operador aún devuelve true.

Vea el siguiente ejemplo:

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);
   }
}

El resultado de la compilación y ejecución de los ejemplos anteriores es el siguiente:

true

Prioridad de operadores de Java

Cuando varios operadores aparecen en una expresión, ¿quién primero y quién después? Esto involucra el problema del nivel de prioridad de los operadores. En una expresión con múltiples operadores, la prioridad de los operadores diferentes puede causar que los resultados finales difieran mucho.

Por ejemplo,(1+3)+(3+2)*2, si se calcula la expresión según la prioridad del operador de adición, la respuesta sería 18, si se aplica la prioridad del operador de multiplicación, la respuesta sería 14。

Por ejemplo, x = 7 + 3 * 2; aquí x recibe13, en lugar de20, porque el operador de multiplicación tiene una prioridad más alta que el operador de adición, por lo que se calcula primero3 * 2Obtener6, luego más7。

Los operadores con la prioridad más alta en la tabla se encuentran en la parte superior de la tabla, y los de prioridad más baja en la parte inferior.

CategoríaOperadorAsociatividad
Postfijo() [] . (operador de punto)De izquierda a derecha
Unarioexpr++  expr--De izquierda a derecha
Unario++expr --expr + - ~ !De derecha a izquierda
Multiplicativo * /%De izquierda a derecha
Aditivo + -De izquierda a derecha
Desplazamiento >> >>>  << De izquierda a derecha
Relación >  >=  <  <= De izquierda a derecha
Igual ==  !=De izquierda a derecha
AND bit a bitDe 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
O lógico| |De izquierda a derecha
Condicional?:De derecha a izquierda
Asignación= + = - = * = / =%= >> = << =&= ^ = | =De derecha a izquierda
Punto y comaDe izquierda a derecha