Java fornece um ambiente de operador rico. Podemos classificar os operadores básicos em java nos seguintes grupos:

  • Operadores aritméticos
  • Operadores relacionais
  • Operadores bit a bit
  • Operadores de atribuição
  • Operadores lógicos

Vamos agora aprender mais sobre cada um desses operadores.

1. Operadores aritméticos : Os operadores aritméticos são usados ​​para realizar operações aritméticas / matemáticas em operandos.

  • Adição ('+') : Adiciona dois operandos
  • Subtração ('-') : Subtrai dois operandos
  • Multiplicação ('*') : Multiplica dois operandos
  • Divisão ('/') : Divide o primeiro operando pelo segundo.
  • Módulo ('%') : Retorna o resto quando o primeiro operando é dividido pelo segundo
  • Incremento ('++') : Incrementa o valor de um inteiro. Quando colocado antes do nome da variável (também chamado de operador de pré-incremento), seu valor é incrementado instantaneamente. Por exemplo, ++ x . E quando é colocado após o nome da variável (também chamado de operador pós-incremento), seu valor é preservado temporariamente até a execução desta instrução e é atualizado antes da execução da próxima instrução. Por exemplo, x ++.
  • Decrementar ('-') : Decrementar o valor de um inteiro. Quando colocado antes do nome da variável (também chamado de operador pré-decremento), seu valor diminui instantaneamente. Por exemplo, –x .
    E quando é colocado após o nome da variável (também chamado de operador pós-decremento), seu valor é preservado temporariamente até a execução desta instrução e é atualizado antes da execução da próxima instrução. Por exemplo, x– .

Nota : Os operadores de incremento e decremento são chamados de operadores aritméticos unários, pois trabalham com um único operando, enquanto o restante dos operadores aritméticos são chamados de operadores aritméticos binários, pois operam em dois operandos.
 

operadores aritméticos

//Java program to explain arithmetic operators
import java.util.*;
class A{
     
    public static void main(String args[])
    {
     
    int a = 10, b = 4, res;
  
    //printing a and b
    System.out.println("a is "+a+ " and b is "+ b);
  
    res = a+b; //addition
    System.out.println("a+b is "+res);
  
    res = a-b; //subtraction
    System.out.println("a-b is "+res);
  
    res = a*b; //multiplication
    System.out.println("a*b is "+res);
  
    res = a/b; //division
    System.out.println("a/b is "+res);
  
    res = a%b; //modulus
    System.out.println("a%b is "+res);
     
    }
}

Produto :

a is 10 and b is 4
a+b is 14
a-b is 6
a*b is 40
a/b is 2
a%b is 2

2. Operadores relacionais : os operadores relacionais determinam a relação que um operando tem com o outro. Os operadores relacionais avaliam a relação entre duas operações e retorna verdadeiro se a relação existe, caso contrário, é falso .

  • Operador '==':  verifica se os dois operandos fornecidos são iguais ou não. Nesse caso, ele retorna verdadeiro. Caso contrário, retorna falso. Por exemplo, 5 == 5 retornará verdadeiro.
  • Operador '! =':   verifica se os dois operandos fornecidos são iguais ou não. Caso contrário, ele retorna verdadeiro. Caso contrário, retorna falso. É o complemento booleano exato do operador '=='. Por exemplo, 5! = 5 retornará falso.
  • Operador '>': verifica se o primeiro operando é maior que o segundo operando. Nesse caso, ele retorna verdadeiro. Caso contrário, retorna falso. Por exemplo, 6> 5 retornará verdadeiro.
  • Operador '<': verifica se o primeiro operando é menor que o segundo operando. Nesse caso, ele retorna verdadeiro. Caso contrário, retorna falso. Por exemplo, 6 <5 retornará falso.
  • Operador '> =': verifica se o primeiro operando é maior ou igual ao segundo operando. Nesse caso, ele retorna verdadeiro. Caso contrário, retorna falso. Por exemplo, 5> = 5 retornará verdadeiro.
  • Operador '<=': verifica se o primeiro operando é menor ou igual ao segundo operando. Nesse caso, ele retorna verdadeiro. Caso contrário, retorna falso. Por exemplo, 5 <= 5 também retornará verdadeiro.
//Java program for relational operators
import java.util.*;
class A{
     
    public static void main(String args[])
    {
     
    int a=10, b=4;
  
    // relational operators
    // greater than example
    if (a > b)
        System.out.println("a is greater than b");
    else System.out.println("a is less than or equal to b");
  
    // greater than equal to
    if (a >= b)
        System.out.println("a is greater than or equal to b");
    else System.out.println("a is lesser than b");
  
    // less than example
    if (a < b)
        System.out.println("a is less than b");
    else System.out.println("a is greater than or equal to b");
  
    // lesser than equal to
    if (a <= b)
        System.out.println("a is lesser than or equal to b");
    else System.out.println("a is greater than b");
  
    // equal to
    if (a == b)
        System.out.println("a is equal to b");
    else System.out.println("a and b are not equal");
  
    // not equal to
    if (a != b)
        System.out.println("a is not equal to b");
    else System.out.println("a is equal b");
  
         
    }
}

Produto :

a is greater than b
a is greater than or equal to b
a is greater than or equal to b
a is greater than b
a and b are not equal
a is not equal to b

3. Operadores bit a bit : Java fornece vários operadores bit a bit para trabalhar com tipos inteiros, long , int , short , char , byte . Operadores bit a bit executam operação bit a bit na representação binária de inteiros. Esses operadores atuam sobre os bits individuais de seus operandos.

Por exemplo:

Assume a = 9 and b = 7.
In binary form,
a = 1001
b = 0111
----------
a & b = 0001

Diferentes operadores bit a bit disponíveis em Java são:

  • & (bit a bit e) : O operador & bit a bit executa a operação AND binária bit a bit nos operandos. a & b = 0001 que é 1
  • | (bit a bit ou) : bit a bit | operador executa operação binária OU bit a bit nos operandos. a | b = 1111 que é 15
  • ^ (XOR bit a bit) : O operador ^ bit a bit executa a operação XOR binária bit a bit nos operandos. a ^ b = 1110 que é 14
  • ~ ( complemento bit a bit ) : O operador ~ bit a bit executa a operação NÃO binária bit a bit no operando. ~ b = 1000 que é 8
  • << (deslocamento à esquerda) : Este operador desloca os bits do operando esquerdo para a esquerda pelo número de vezes especificado pelo operando direito. a << 1 = 10010 = 18
  • >> (deslocamento à direita) : Este operador desloca os bits do operando esquerdo para a direita pelo número de vezes especificado pelo operando direito. a >> 1 = 0100 = 4
  • >>> (deslocamento para a direita com preenchimento zero) : Operador de preenchimento com zero à direita. O valor do operando esquerdo é deslocado para a direita pelo número de dígitos especificado pelo operando direito e os dígitos deslocados serão substituídos por zero. a >>> 2 = 0010 = 2

4. Operador de atribuição : O operador de atribuição é usado para atribuir valor a uma variável. A forma geral de um operador de atribuição é:

var = expressão

Diferentes maneiras de usar o operador de atribuição:

  • '=' : Este é o operador de atribuição mais simples. Ele atribui o valor do operando esquerdo ao operando direito. Por exemplo, a = 3.
  • '+ =' : Este operador primeiro adiciona os operandos esquerdo e direito e, em seguida, atribui o resultado ao operando esquerdo. Por exemplo, a + = b é equivalente a a = a + b.
  • '- =' : Este operador primeiro subtrai o operando direito do operando esquerdo e, em seguida, atribui o resultado ao operando esquerdo. Por exemplo, a - = b é equivalente a a = a - b.
  • '* =' : Este operador primeiro multiplica o operando direito e o operando esquerdo e, em seguida, atribui o resultado ao operando esquerdo. Por exemplo, a * = b é equivalente a a = a * b
  • '/ =' : Este operador primeiro divide o operando esquerdo pelo operando direito e, em seguida, atribui o resultado ao operando esquerdo. Por exemplo, a / = b é equivalente a a = a / b
  • '% =' : Este operador calcula o módulo usando o operando esquerdo e direito e, a seguir, atribui o resultado ao operando esquerdo. Por exemplo, a% = b é equivalente a a = a% b

Da mesma forma , também podemos usar operadores como ^ = , & = , | = .

5. Operadores lógicos : os operadores lógicos realizam operações lógicas como AND lógico, OR lógico etc. Vamos supor que a variável a contenha o valor booleano verdadeiro e b contenha o valor booleano falso . Abaixo estão alguns operadores lógicos que podemos usar:

  • AND lógico ('&&') : Este operador retornará verdadeiro se os operandos esquerdo e direito forem verdadeiros, caso contrário, retornará falso. Por exemplo, a && b é falso .
  • OU lógico ('||') : Este operador retornará verdadeiro se qualquer um dos operandos esquerdo e direito for verdadeiro. Ele retornará falso quando os operandos esquerdo e direito forem falsos. Por exemplo, um || b é verdadeiro .
  • NOT lógico ('!') : Este é um operador unário e pode ser usado com um único operando. Isso retornará verdadeiro se o operando for falso e retornará falso se o operando for verdadeiro. Por exemplo ,! A é falso e ! B é verdadeiro .

Tabela verdade de amostra com duas variáveis:

mesa da verdade

6. Outros operadores

  • Operador instanceof :
    Como o nome sugere, este operador deve verificar se um objeto ou variável de referência é de um tipo de classe ou tipo de interface específico ou não. Sintaxe para usar o operador instanceof:
(Object or reference variable ) instanceof  (class or interface type)

Este operador retorna um valor booleano verdadeiro ou falso. Se o objeto do lado esquerdo do operador for do tipo de classe do lado direito do operador, o operador será verdadeiro, caso contrário, será falso.

//Java program for instanceof operator
 
public class InstanceOf {
 
public static void main(String args[]) {
 
    String name = "GeeksforGeeks";
         
    //instanceof operator will return true here
    //as the object name is of type String
    boolean res = name instanceof String;
    System.out.println( res );
}
}

Saída:

true
  • Operador condicional : normalmente usamos as instruções if-then-else para avaliar as condições. Java inclui um operador especial '?' que pode substituir as instruções if-then-else para avaliar as condições. A forma geral de '?' operador é:
expression1 ? expression2 : expression3

expression1: expression that evaluates to a boolean value i.e. either true or false.
expression2: if expression1 evaluates to true then expression2 is evaluated
expression3: if expression1 evaluates to false then expression3 is evaluated.
//Java program to illustrate conditional operators
 
class Conditional
{
    public static void main(String args[])
    {
        int num1 = 4;
        int num2 = 5;
         
        //using conditional operator
        num1 = num1>num2 ? num1 - num2 : num1 + num2;
         
        //num1 stores the value after evaluation of either second
        // or third expression depending on the condition
        //provided in the first expression
        //num1 becomes 4+5 = 9
         
        //printing num1
        System.out.println(num1);
         
    }
}

Saída:

9

Tabela de precedência

A tabela abaixo mostra a ordem de precedência dos operadores do maior para o menor. Operadores na mesma linha têm precedência igual.

gráfico de precedência

Este artigo é uma contribuição de Harsh Agarwal . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando write.geeksforgeeks.org ou enviar seu artigo para review-team@geeksforgeeks.org. Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.
Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.