O melhor tutorial operador de Java em 2024. Neste tutorial você pode aprender operadores aritméticos,Operadores relacionais,Operadores bit a bit,Operadores lógicos,Operadores de atribuição,operador condicional (? :),operador instanceof,Java precedência do operador,
Um dos usos mais básicos de um computador é para executar operações matemáticas, como uma linguagem de computador, Java fornece um rico conjunto de operadores para manipular variáveis. Podemos colocar o operador nos seguintes grupos:
operadores aritméticos utilizados em expressões matemáticas, o seu papel e o papel da matemática no mesmo. A tabela a seguir lista todos os operadores aritméticos.
Tabela exemplo assume variável inteiro Um valor de 10, o valor da variável B 20:
operadores | descrição | exemplo |
---|---|---|
+ | O valor acrescentado do operador em ambos os lados - Adição | A + B é igual a 30 |
- | Subtração - menos o operando esquerdo para o operando direito | A - B é -10 |
* | Multiplicação - multiplicado ambos os lados do operador | A * B = 200 |
/ | Division - o operando esquerdo dividido pelo operando direito | B / A é igual a dois |
% | Modulo - para além do restante do operando à esquerda e à direita operando | B é igual a 0% de A |
+ + | Incremento - aumentar o valor do operando 1 | + B + é igual a 21 |
- | Decremento - diminuir o valor do operando 1 | B - - igual a 19 |
O seguinte programa exemplo simples demonstra os operadores aritméticos. Copie e cole o seguinte programa Java e guardá-lo como Test.java arquivo, em seguida, compilar e executar este programa:
public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 25; int d = 25; 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) ); System.out.println("c % a = " + (c % a) ); System.out.println("a++ = " + (a++) ); System.out.println("a-- = " + (a--) ); // 查看 d++ 与 ++d 的不同 System.out.println("d++ = " + (d++) ); System.out.println("++d = " + (++d) ); } }
Os exemplos acima são compilados os resultados como se segue:
a + b = 30 a - b = -10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a++ = 10 a-- = 11 d++ = 25 ++d = 27
A tabela a seguir mostra os operadores relacionais Java suportado
É 10, a variável de tabela B instância inteiro variável Um valor de 20:
operadores | descrição | exemplo |
---|---|---|
== | Verificar se o valor dos dois operandos são iguais, igual, se a condição for verdadeira. | (A == B) é falsa (não é verdade). |
! = | Verificar se o valor dos dois operandos são iguais, se os valores não forem iguais, então a condição é verdadeira. | (A! = B) é verdadeiro. |
> | Verificar o valor do operando esquerdo é maior do que o valor do operando à direita, se for, então a condição é verdadeira. | (A> B) não é verdade. |
< | Verificar o valor do operando esquerdo é menos do que o valor do operando à direita, se for, então a condição é verdadeira. | (A <B) é verdadeiro. |
> = | Verificar o valor do operando esquerdo é maior do que ou igual ao valor do operando à direita, se for, então a condição é verdadeira. | (A> = B) é falsa. |
<= | Verificar o valor do operando esquerdo é menos do que ou igual ao valor do operando à direita, se for, então a condição é verdadeira. | (A <= B) é verdadeiro. |
O seguinte programa exemplo simples demonstra operadores relacionais. Copie e cole o seguinte programa Java e guardá-lo como Test.java arquivo, em seguida, compilar e executar este programa:
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) ); } }
Os exemplos acima são compilados os resultados como se segue:
a == b = false a != b = true a > b = false a < b = true b >= a = true b <= a = false
Java define o operador bit, aplicado ao tipo integer (int), inteiro longo (long), inteiro curto (short), personagem (char) e byte (byte) e de outros tipos.
operadores bit a bit em todas as posições e operações bit a bit. Suponhamos que a = 60, b = 13; o seu formato binário será como se segue:
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 as operações básicas operadores bit a bit, assumindo variável inteiro A variável B é 60 eo valor de 13:
operadores | descrição | exemplo |
---|---|---|
& | Bit a bit e operador, se e somente se um pouco em ambos os operandos são diferentes de zero resultado quando o bit é 1. | (A e B), para dar 12, ou seja, 0.000 1100 |
| | Bit a bit ou operador, um pouco, desde que os dois operandos ter um resultado diferente de zero, quando este bit é ajustado para 1. | (A | B) para dar 61, ou seja 00111101 |
^ | operador bit a bit XOR, um pouco dos dois operandos não são o mesmo resultado quando o bit é definido como 1. | (A ^ B) para dar 49, ou seja, 00.110.001 |
~ | Bit a bit operador de complemento lançando cada bit operandos. | (~ A) -61 Obteve-se, nomeadamente 11000011 |
<< | Esquerda bit a bit operador de deslocamento. O operando esquerdo pelo operando direito pouco à esquerda mudança especificado número de dígitos. | Um << 2 de 240, ou seja, 11110000 |
>> | Bit a bit operador de deslocamento para a direita. operando à esquerda especifica o número de bits por pouco para a direita do operando à direita. | A >> 2 obter 15 ou seja, 1111 |
>>> | Bit a bit operador de zeros à direita. O valor do operando esquerdo Pressione o operando à direita o número especificado de bits para a direita, mover para as vagas resultantes são preenchidos com zeros. | A >>> 2 obter 15 ou seja, 0000 1111 |
O seguinte programa exemplo simples demonstra os operadores bit a bit. Copie e cole o seguinte programa Java e guardá-lo como Test.java arquivo, em seguida, compilar e executar este 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 ); } }
Os exemplos acima são compilados os resultados como se segue:
a & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a << 2 = 240 a >> 15 a >>> 15
A tabela a seguir lista as operações básicas operadores lógicos, variáveis booleanas A hipótese é verdadeira, a variável B é falso
operadores | descrição | exemplo |
---|---|---|
&& | Chamado de um operador AND lógico. Se e somente se ambos os operandos são verdadeiros, a condição será verdadeira. | (A && B) é falsa. |
| | | Chamado lógico ou operador. Se qualquer um de qualquer dos dois operandos é verdadeiro, a condição é verdadeira. | (A | | B) é verdadeiro. |
! | Chamado operador lógico NOT. Ele inverte o estado lógico do operando. Se a condição for verdadeira, o NÃO operador lógico será falso. | ! (A && B) é verdadeiro. |
O seguinte programa exemplo simples demonstra os operadores lógicos. Copie e cole o seguinte programa Java e guardá-lo como Test.java arquivo, em seguida, compilar e executar este 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)); } }
Os exemplos acima são compilados os resultados como se segue:
a && b = false a || b = true !(a && b) = true
Aqui é a linguagem Java para apoiar o operador de atribuição:
operadores | descrição | exemplo |
---|---|---|
= | operador de atribuição simples, o valor do operando direito ao operando esquerdo | C = A + B + B vai dar um valor atribuído a C |
+ = | Adição e operador de atribuição, é o operando esquerdo eo operando direito, adicionando uma atribuição para o operando esquerdo | C + = A é equivalente a C = C + A |
- = | Salve operando esquerdo e operador de atribuição, é o operando esquerdo eo operando direito atribuído para subtrair | C - = A é equivalente ao C = C - Um |
* = | Multiplicação e operador de atribuição, é o operando esquerdo eo operando direito é multiplicado pela atribuição para o operando esquerdo | C * = A é equivalente a C = C * A |
/ = | Além disso, e operador de atribuição, é o operando esquerdo e da divisão operando direito atribuído ao operando esquerdo | C / = A é equivalente ao C = C / A |
(%) = | Modulo e operador de atribuição, é o operando esquerdo eo operando direito ao operando esquerdo após atribuição para modulo | C% = A é equivalente ao C = C% A |
<< = | operador de atribuição esquerda-shift | << C = 2 é equivalente ao C = C << 2 |
>> = | operador de atribuição de deslocamento à direita | C >> = 2 é equivalente ao C = C >> 2 |
& = | Bit a bit E operador de atribuição | C & = 2 é equivalente ao C = C & 2 |
= ^ | XOR operador de atribuição | C ^ = 2 é equivalente ao C = C ^ 2 |
| = | OR bit a bit operador de atribuição | C | = 2 é equivalente ao C = C | 2 |
Um exemplo simples demonstra os programas enfrentam operador de atribuição. Copie e cole o seguinte programa Java e guardá-lo como Test.java arquivo, em seguida, compilar e executar este programa:
public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 0; c = a + b; System.out.println("c = a + b = " + c ); c += a ; System.out.println("c += a = " + c ); c -= a ; System.out.println("c -= a = " + c ); c *= a ; System.out.println("c *= a = " + c ); a = 10; c = 15; c /= a ; System.out.println("c /= a = " + c ); a = 10; c = 15; c %= a ; System.out.println("c %= a = " + c ); c <<= 2 ; System.out.println("c <<= 2 = " + c ); c >>= 2 ; System.out.println("c >>= 2 = " + c ); c >>= 2 ; System.out.println("c >>= a = " + c ); c &= a ; System.out.println("c &= 2 = " + c ); c ^= a ; System.out.println("c ^= a = " + c ); c |= a ; System.out.println("c |= a = " + c ); } }
Os exemplos acima são compilados os resultados como se segue:
c = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c <<= 2 = 20 c >>= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10
O operador condicional também é conhecido como o operador ternário. O operador tem três operandos, ea necessidade de julgar o valor de uma expressão booleana. Este operador é principalmente para decidir qual valor deve ser atribuído à variável.
variable x = (expression) ? value if true : value if false
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 ); } }
Os exemplos acima são compilados os resultados como se segue:
Value of b is : 30 Value of b is : 20
Este operador é usado para operar a instância do objeto, verifique se o objeto é um tipo particular (classe ou tipo de interface).
instanceof operador Use o seguinte formato:
( Object reference variable ) instanceOf (class/interface type)
Se o operador está na variável lado esquerdo refere-se ao objeto, o operador ou o lado direito da classe de interface (classe / interface) de um objeto, então o resultado é verdadeiro.
Aqui está um exemplo:
String name = 'James'; boolean result = name instanceOf String; // 由于name是String类型,所以返回真
Se o objeto a ser comparado é compatível com o direito de o tipo, o operador ainda retorna verdadeiro.
Veja os exemplos a seguir:
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); } }
Os exemplos acima são compilados os resultados como se segue:
true
Quando mais de um operador aparece em uma expressão, depois de todo aquele que? Isto relaciona-se com a prioridade de problemas operador. Em uma expressão multi-operador, a precedência do operador pode levar a resultados diferentes, finalmente, vir a variar muito.
Por exemplo, (1 + 3) + (3 + 2) * 2, pressione o sinal de mais, se esta expressão para calcular a prioridade mais alta, a resposta é 18, de acordo com a multiplicação máxima prioridade, a resposta é 14.
Mais uma vez, x = 7 + 3 * 2, onde x tinha 13 em vez de 20, porque operador de multiplicação tem uma precedência maior do que o operador de adição, em primeiro lugar calcular 3 * 2 obter 6 e 7 plus.
O tampo da mesa tem a mais alta prioridade dos operadores na tabela, a prioridade mais baixa na parte inferior da tabela.
categoria | operadores | relevância |
---|---|---|
sufixo | () []. (Operador de Dot) | Esquerda para a direita |
unitário | + + -! ~ | Direita para a esquerda |
multiplicativo | * /% | Esquerda para a direita |
aditivo | + - | Esquerda para a direita |
deslocamento | >> << >>> | Esquerda para a direita |
relacionamento | << = >> = | Esquerda para a direita |
igual | ==! = | Esquerda para a direita |
bit a bit E | & | Esquerda para a direita |
XOR | ^ | Esquerda para a direita |
bit a bit ou | | | Esquerda para a direita |
lógica e | && | Esquerda para a direita |
lógico ou | | | | Esquerda para a direita |
condição | ? : | Direita para a esquerda |
atribuição | = + = - = * = / =% = >> = << = & = ^ = | = | Direita para a esquerda |
vírgula | , | Esquerda para a direita |