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
Os 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 -
Suponha que a variável inteira A tenha 10 e a variável B tenha 20, então −
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
+ (Adição) | Adiciona valores em ambos os lados do operador. | Um + B dará 30 |
- (Subtração) | Subtrai o operando do lado direito do operando do lado esquerdo. | A - B dará -10 |
* (Multiplicação) | Multiplica valores em ambos os lados do operador. | Um * B dará 200 |
/ (Divisão) | Divide o operando do lado esquerdo pelo operando do lado direito. | B / A dará 2 |
% (Módulo) | Divida 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 de dois operandos são iguais ou não, se sim então a condição se torna 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 forem iguais então a condição se torna verdadeira. | (A !=B) é verdadeiro. |
> (maior que) | Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim então a condição se torna verdadeira. | (A> B) não é verdade. |
<(menor que) | Verifica se o valor do operando esquerdo é menor que o valor do operando direito, se sim então a condição se torna verdadeira. | (A |
>=(maior ou igual a) | Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim então a condição se torna 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 então a condição se torna 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 eb =13; agora em formato binário eles 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 contém 60 e a variável B contém 13, então -
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
&(bit a bit e) | O operador AND binário copia um bit para o resultado se existir em ambos os operandos. | (A e B) dará 12, que é 0000 1100 |
| (bit a bit ou) | O operador OR binário copia um bit se existir em qualquer um dos operandos. | (A | B) dará 61 que é 0011 1101 |
^ (XOR bit a bit) | O operador XOR binário copia o bit se estiver definido em um operando, mas não em ambos. | (A ^ B) dará 49 que é 0011 0001 |
~ (complementação bit a bit) | Operador de Complemento de Unidades Binárias é 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 assinado. |
<<(deslocamento à esquerda) | Operador de deslocamento à esquerda binário. O valor do operando esquerdo é movido para a esquerda pelo número de bits especificado pelo operando direito. | Um <<2 dará 240, que é 1111 0000 |
>> (deslocamento à direita) | Operador de deslocamento à direita binário. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito. | A>> 2 dará 15, que é 1111 |
>>> (preenchimento zero deslocamento à direita) | Desloque o operador de preenchimento zero para a direita. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito e os valores deslocados são preenchidos com zeros. | A>>>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 seja falsa, então −
Mostrar exemplos
Operador | Descrição | Exemplo |
---|---|---|
&&(e lógico) | Chamado operador AND lógico. Se ambos os operandos forem diferentes de zero, a condição se tornará verdadeira. | (A &&B) é falso |
|| (lógico ou) | Chamado Operador OR Lógico. Se qualquer um dos dois operandos for diferente de zero, a condição se tornará verdadeira. | (A || B) é verdadeiro |
! (lógico não) | Chamado Operador NOT Lógico. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador NOT Lógico tornará falso. | !(A &&B) é verdadeiro |
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 dos operandos do lado direito ao operando do lado esquerdo. | C =A + B 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 |
-= | Subtrair AND operador de atribuição. 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 de multiplicar 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 atribuição de divisão AND. Ele divide o operando esquerdo pelo operando direito e atribui o resultado ao operando esquerdo. | C /=A é equivalente a C =C / A |
%= | Modulus AND operador de atribuição. Leva módulo usando dois operandos e atribui o resultado ao operando esquerdo. | C %=A é equivalente a C =C % A |
<<= | Deslocamento à 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 operador ternário . 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
Segue um exemplo -
Exemplo
Demonstração ao vivo
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 -
Saída
Value of b is : 30 Value of b is : 20
instância do operador
Este operador é usado apenas para variáveis de referência de objeto. O operador verifica se o objeto é de um determinado tipo (tipo de classe ou tipo de interface). operador instanceof é escrito como −
( Object reference variable ) instanceof (class/interface type)
Se o objeto referenciado 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. Segue um exemplo -
Exemplo
Demonstração ao vivo
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 -
Saída
true
Este operador ainda retornará true, se o objeto que está sendo comparado for a atribuição compatível com o tipo à direita. A seguir está mais um exemplo -
Exemplo
Demonstração ao vivo
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 -
Saída
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 maior precedência do que o operador de adição -
Por exemplo, x =7 + 3 * 2; aqui x é atribuído 13, não 20 porque o operador * tem precedência maior que +, então primeiro é multiplicado por 3 * 2 e depois soma em 7.
Aqui, os operadores com maior precedência aparecem na parte superior da tabela, aqueles com menor prioridade aparecem na parte inferior. Dentro de uma expressão, os operadores de maior precedência serão avaliados primeiro.
Categoria | Operador | Associatividade |
---|---|---|
Postfix | expressão++ expressão-- | Esquerda para direita |
Unário | ++expressão –-expressão +expressão –expressão ~ ! | Da direita para a esquerda |
Multiplicativo | * / % | Esquerda para direita |
Aditivo | + - | Esquerda para direita |
Mudar | <<>>>>> | Esquerda para direita |
Relacional | <> <=>=instância de | Esquerda para direita |
Igualdade | ==!= | Esquerda para direita |
Bit a bit E | & | Esquerda para direita |
XOR bit a bit | ^ | Esquerda para direita |
OU bit a bit | | | Esquerda para direita |
E lógico | && | Esquerda para direita |
OU lógico | || | Esquerda para direita |
Condicional | ?: | Da direita para a esquerda |
Tarefa | =+=-=*=/=%=^=|=<<=>>=>>>= | Da direita para a 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.
Java