1. Operador
Os operadores incluem o seguinte:
Operador de atribuição do operador aritmético Comparador Operador Logic Operador Operador Trigonométrico Operador Trigonométrico
Os operadores de bits menos usados também são os mais próximos do computador subjacente.
1. Operadores aritméticos
(1) Vários usos de +: adição, números positivos, caracteres de concatenação de string
(2) Um problema deve receber atenção ao dividir os números inteiros: dividi -los juntos e você só pode obter números inteiros. Para obter um decimal, você pode converter os dados em si *1.0, ou seja, converter os dados em si em um tipo de ponto flutuante primeiro.
2. Operador de atribuição
Símbolo = += -= *= /= %=
Nota: = é o operador de atribuição básica e os outros são operadores de atribuição estendida
Perguntas sobre entrevistas:
(1) curto s = 1, s = s+1;
(2) curto s = 1, s+= 1;
Existe algum problema com os dois códigos acima? Se sim, onde há algum problema?
Resposta: O código (1) está incorreto e perderá a precisão. Ao definir byte e curta, eles realmente recebem um valor de tipo int. Isso é feito por mim. Se não estiver mais dentro de seu intervalo, um erro será relatado. Os efeitos são os seguintes:
Código (2) não tem erros porque: o operador de atribuição estendido implica realmente um elenco.
Isto é, i += 1; não é equivalente a i = i + 1; mas é equivalente a i = (tipo de dados de i) (s + 1);
3. Operadores relacionais
Nota 1: Os resultados do operador de comparação são booleanos, ou seja, eles são verdadeiros ou falsos.
Nota 2: O operador de comparação "==" não pode ser escrito erroneamente como "=". Por exemplo:
4. Operadores lógicos
(1) Os operadores lógicos são usados para conectar expressões booleanas. Eles não podem ser escritos como 3 <x <6 em java, mas devem ser escritos como x> 3 & x <6.
(2) A diferença entre "&" e "&&"? Da mesma forma, é a diferença entre "|" e "||"?
A: O resultado final é o mesmo. Por exemplo: A e B devem ser verdadeiros ao mesmo tempo, e os resultados de A&B e A&B são verdadeiros. B: && tem um efeito de curto -circuito, o lado esquerdo é falso e o lado direito não é executado. || Tem um efeito de curto -circuito, o lado esquerdo é verdadeiro e o lado direito não é executado.
Nota: Operadores lógicos comumente usados no desenvolvimento: &&, ||,!
(3) A diferença entre xor ( ^) e ou (|) é: Quando a esquerda e a direita são verdadeiras, o resultado do XOR é falso.
5. Operador de bit:
Embora pouco seja usado no desenvolvimento, ele será visto em muitos códigos de origem, porque a computação subjacente dos computadores é o operações de bits.
Entrevista Pergunta 1: Implemente a troca de duas variáveis inteiras
O código é o seguinte:
/* Pergunta da entrevista: Implemente a troca de duas variáveis inteiras por si mesmo*/class OperatorTest {public static void main (string [] args) {int a = 10; int b = 20; System.out.println ("A:"+A+", B:"+B); // Método 1: Use variáveis de terceiros (usadas no desenvolvimento) int c = a; a = b; b = c; System.out.println ("A:"+A+", B:"+B); System.out.println ("--------------"); // Método 2: use o bit xor para implementar (entrevista) // esquerda: a, b, a // direita: a ^ ba = a ^ b; b = a ^ b; // a ^ b ^ b = aa = a ^ b; // a ^ b ^ a = b System.out.println ("a:"+a+", b:"+b); // Método 3: use variáveis para adicionar a = a + b; // a = 30 b = a - b; // b = 10 a = a - b; // a = 20 system.out.println ("a:"+a+", b:"+b); * // Método 4: faça -o em uma frase b = (a+b) - (a = b); // b = 30-20 = 10, a = 20 system.out.println ("a:"+a+", b:"+b); }}Pergunta da entrevista 2: escreva o resultado do cálculo de 2 vezes 8 da maneira mais eficiente.
Resposta: 2 * 8 é equivalente a 2 << 3
Revisão do conhecimento:
<<: Descarte o bit mais alto à esquerda e do lado direito. >>: o bit mais alto à direita é 0 e o lado esquerdo é 0; O mais alto é 1 e o lado esquerdo é 1 >>>: Mudança direita não assinada, independentemente de o bit mais alto é 0 ou 1, o lado esquerdo é 0 e o lado esquerdo é 0.
6. Operador de três pontos:
Formato: (expressão relacional)? Expressão 1: expressão 2;
Se a condição for verdadeira, o resultado após a operação é a expressão 1;
Se a condição for falsa, o resultado após a operação é a expressão 2;
Exemplo:
Obtenha o grande número de dois números:
O código de cópia é o seguinte: int x = 3, y = 4, z; z = (x> y)? X: y; // z variável armazena um grande número de dois números.
Obtenha o valor máximo de três números inteiros:
// Método 1: em duas etapas // a: compare os valores máximos de A e B primeiro // B: Compare os valores máximos de A e B com C int temp = ((a> B)? A: B); //System.out.println(Temp); int max1 = (temp> c? temp: c); System.out.println ("max1:"+max1); // Método 2: obtenha int max2 em uma etapa = (a> b)? ((A> c)? A: c): ((b> c)? B: c); // Este método não é recomendado: // int max2 = a> b? A> c? A: C: B> C? b: c; //System.out.println("max2:"+max2);Recomenda -se usar o método um. Além disso, no modo 2, a linha 10 e a linha 12 são os mesmos e são o uso aninhado do operador trigonométrico.
Compare se dois números inteiros são iguais:
// Compare se dois números inteiros são iguais int m = 100; int n = 200; // bandeira booleana = (M == n)? Verdadeiro: falso; bandeira booleana = (m == n); System.out.println (sinalizador);
2. Entrada de dados do teclado
Quando estamos escrevendo programas, os valores dos dados são corrigidos, mas no desenvolvimento real, os valores dos dados devem mudar, por isso planejo melhorar os dados na entrada do teclado para melhorar a flexibilidade do programa.
Como implementar a entrada de dados do teclado? (Lembre -se de usá -lo agora)
(1) pacote de transmissão (posição na parte superior da definição de classe): importar java.util.scanner;
(2) Criar objeto de entrada do teclado: Scanner SC = new Scanner (System.in);
(3) Obtenha dados através do objeto: int x = sc.nextInt ();
Exemplo Código:
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.