Java - Operadores básicos

Java fornece um rico conjunto de operadores para manipular variáveis. Podemos dividir todos os operadores Java nos seguintes grupos -

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

Os operadores aritméticos

Operadores aritméticos são usados ​​em expressões matemáticas da mesma forma que são usados ​​em álgebra. A tabela a seguir lista os operadores aritméticos -

Assuma que a variável inteira A contém 10 e a variável B contém 20, então -

Mostrar exemplos

Operador Descrição Exemplo
+ (Adição) Adiciona valores em qualquer lado do operador. A + B dará 30
- (Subtração) Subtrai o operando direito do operando esquerdo. A - B dará -10
* (Multiplicação) Multiplica os valores em ambos os lados do operador. A * B dará 200
/ (Divisão) Divide o operando à esquerda pelo operando à direita. B / A dará 2
% (Módulo) Divide o operando esquerdo pelo operando direito e retorna o resto. B% A dará 0
++ (incremento) Aumenta o valor do operando em 1. B ++ dá 21
- (diminuir) Diminui o valor do operando em 1. B-- dá 19

Os operadores relacionais

Existem os seguintes operadores relacionais suportados pela linguagem Java.

Suponha que a variável A tenha 10 e a variável B tenha 20, então -

Mostrar exemplos

Operador Descrição Exemplo
== (igual a) Verifica se os valores dos dois operandos são iguais ou não, se sim a condição torna-se verdadeira. (A == B) não é verdade.
! = (diferente de) Verifica se os valores de dois operandos são iguais ou não; se os valores não são iguais, a condição se torna verdadeira. (A! = B) é verdade.
> (maior que) Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição torna-se verdadeira. (A> B) não é verdade.
<(menos que) Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. (A <B) é verdade.
> = (maior ou igual a) Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. (A> = B) não é verdade.
<= (menor ou igual a) Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. (A <= B) é verdadeiro.

Os operadores bit a bit

Java define vários operadores bit a bit, que podem ser aplicados aos tipos inteiros, long, int, short, char e byte.

O operador bit a bit funciona em bits e executa a operação bit a bit. Suponha que a = 60 e b = 13; agora em formato binário serão os seguintes -

a = 0011 1100

b = 0000 1101

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

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

~ a = 1100 0011

A tabela a seguir lista os operadores bit a bit -

Suponha que a variável inteira A tenha 60 e a variável B 13, então -

Mostrar exemplos

Operador Descrição Exemplo
& (bit a bit e) O operador binário AND copia um bit para o resultado se ele existir em ambos os operandos. (A e B) dará 12, que é 0000 1100
| (bit a bit ou) O operador binário OR copia um bit se ele existir em qualquer operando. (A | B) dará 61, que é 0011 1101
^ (XOR bit a bit) O operador binário XOR copia o bit se estiver definido em um operando, mas não em ambos. (A ^ B) dará 49, que é 0011 0001
~ (elogio bit a bit) O operador de complemento binários é unário e tem o efeito de 'inverter' bits. (~ A) dará -61 que é 1100 0011 na forma de complemento de 2 devido a um número binário com sinal.
<< (deslocamento para a esquerda) Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. Um << 2 dará 240, que é 1111 0000
>> (deslocamento para a direita) Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. Um >> 2 dará 15, que é 1111
>>> (preenchimento zero deslocamento à direita) Desloque o operador de preenchimento zero para a direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita e os valores deslocados são preenchidos com zeros. Um >>> 2 dará 15, que é 0000 1111

Os operadores lógicos

A tabela a seguir lista os operadores lógicos -

Suponha que as variáveis ​​booleanas A sejam verdadeiras e a variável B sejam falsas, então -

Mostrar exemplos

Operador Descrição Exemplo
&& (lógico e) Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. (A && B) é falso
|| (lógico ou) Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. (A || B) é verdade
! (lógico não) Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falsa. ! (A && B) é verdade

Os Operadores de Atribuição

A seguir estão os operadores de atribuição suportados pela linguagem Java -

Mostrar exemplos

Operador Descrição Exemplo
= Operador de atribuição simples. Atribui valores de operandos do lado direito para operando do lado esquerdo. C = A + B irá atribuir o valor de A + B em C
+ = Adicionar operador de atribuição AND. Ele adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo. C + = A é equivalente a C = C + A
- = Subtraia o operador de atribuição AND. Ele subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo. C - = A é equivalente a C = C - A
* = Operador de atribuição Multiply AND. Ele multiplica o operando direito pelo operando esquerdo e atribui o resultado ao operando esquerdo. C * = A é equivalente a C = C * A
/ = Operador de divisão AND atribuição. Ele divide o operando esquerdo com o operando direito e atribui o resultado ao operando esquerdo. C / = A é equivalente a C = C / A
% = Módulo E operador de atribuição. Leva o módulo usando dois operandos e atribui o resultado ao operando esquerdo. C% = A é equivalente a C = C% A
<< = Deslocamento para a esquerda E operador de atribuição. C << = 2 é igual a C = C << 2
>> = Deslocamento à direita E operador de atribuição. C >> = 2 é igual a C = C >> 2
& = Operador de atribuição AND bit a bit. C & = 2 é igual a C = C & 2
^ = OR exclusivo bit a bit e operador de atribuição. C ^ = 2 é igual a C = C ^ 2
| = OR inclusivo bit a bit e operador de atribuição. C | = 2 é igual a C = C | 2

Operadores diversos

Existem alguns outros operadores suportados pela linguagem Java.

Operador condicional (?:)

O operador condicional também é conhecido como o ternary operator. Este operador consiste em três operandos e é usado para avaliar expressões booleanas. O objetivo do operador é decidir qual valor deve ser atribuído à variável. O operador é escrito como -

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

A seguir está um exemplo -

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

Isso produzirá o seguinte resultado -

Output

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

instanceof Operator

Este operador é usado apenas para variáveis ​​de referência de objeto. O operador verifica se o objeto é de um tipo específico (tipo de classe ou tipo de interface). operador instanceof é escrito como -

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

Se o objeto referido pela variável no lado esquerdo do operador passar na verificação IS-A para o tipo de classe / interface no lado direito, o resultado será verdadeiro. A seguir está um exemplo -

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

Isso produzirá o seguinte resultado -

Output

true

Este operador ainda retornará verdadeiro, se o objeto que está sendo comparado for a atribuição compatível com o tipo à direita. A seguir está mais um exemplo -

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

Isso produzirá o seguinte resultado -

Output

true

Precedência de operadores Java

A precedência do operador determina o agrupamento de termos em uma expressão. Isso afeta como uma expressão é avaliada. Certos operadores têm precedência mais alta do que outros; por exemplo, o operador de multiplicação tem precedência mais alta do que o operador de adição -

Por exemplo, x = 7 + 3 * 2; aqui, x é atribuído a 13, não 20, porque o operador * tem precedência mais alta do que +, portanto, primeiro é multiplicado por 3 * 2 e, em seguida, é adicionado a 7.

Aqui, os operadores com a precedência mais alta aparecem na parte superior da tabela, aqueles com a mais baixa aparecem na parte inferior. Em uma expressão, os operadores de precedência mais altos serão avaliados primeiro.

Categoria Operador Associatividade
Postfix expressão ++ expressão-- Da esquerda para direita
Unário ++ expressão –- expressão + expressão –expressão ~! Direita para esquerda
Multiplicativo * /% Da esquerda para direita
Aditivo + - Da esquerda para direita
Mudança << >> >>> Da esquerda para direita
Relacional <> <=> = instância Da esquerda para direita
Igualdade ==! = Da esquerda para direita
E bit a bit E Da esquerda para direita
XOR bit a bit ^ Da esquerda para direita
OR bit a bit | Da esquerda para direita
E lógico && Da esquerda para direita
OR lógico || Da esquerda para direita
Condicional ?: Direita para esquerda
Tarefa = + = - = * = / =% = ^ = | = << = >> = >>> = Direita para esquerda

O que vem a seguir?

O próximo capítulo explicará sobre o controle de loop na programação Java. O capítulo descreverá vários tipos de loops e como esses loops podem ser usados ​​no desenvolvimento de programas Java e para quais propósitos eles estão sendo usados.