1. Operador
Los operadores incluyen lo siguiente:
Operador de aritmética Asignación de operador Comparación Operador Lógico Operador de bit Operador Trigonométrico
Los operadores de bits menos utilizados también son los más cercanos a la computadora subyacente.
1. Operadores aritméticos
(1) Varios usos de +: adición, números positivos, caracteres de concatenación de cadenas
(2) Se debe prestar atención a un problema al dividir enteros: divídalos y solo puede obtener enteros. Para obtener un decimal, puede convertir los datos en sí *1.0, es decir, convertir los datos en sí en un tipo de punto flotante primero.
2. Operador de asignación
Símbolo = += -= *= /= %=
Nota: = es el operador de asignación básica, y los otros son operadores de asignación extendida
Preguntas de la entrevista:
(1) corto s = 1, s = s+1;
(2) corto s = 1, s+= 1;
¿Hay algún problema con los dos códigos anteriores? Si es así, ¿dónde hay algún problema?
Respuesta: El código (1) es incorrecto y perderá precisión. Al definir byte y breve, en realidad reciben un valor de tipo int. Esto lo hace yo mismo. Si ya no está dentro de su rango, se informará un error. Los efectos son los siguientes:
El código (2) no tiene errores porque: el operador de asignación extendida en realidad implica un elenco.
Es decir, i += 1; no es equivalente a i = i + 1; pero es equivalente a i = (tipo de datos de I) (S + 1);
3. Operadores relacionales
Nota 1: Los resultados del operador de comparación son booleanos, es decir, son verdaderos o falsos.
Nota 2: El operador de comparación "==" no puede escribirse por error como "=". Por ejemplo:
4. Operadores lógicos
(1) Los operadores lógicos se utilizan para conectar expresiones booleanas. No se pueden escribir como 3 <x <6 en Java, pero deben escribirse como x> 3 y x <6.
(2) ¿La diferencia entre "&" y "&&"? Del mismo modo, es la diferencia entre "|" y "||"?
R: El resultado final es el mismo. Por ejemplo: A y B deben ser ciertos al mismo tiempo, y los resultados de A&B y A&B son ciertos. B: && tiene un efecto de cortocircuito, el lado izquierdo es falso y el lado derecho no se ejecuta. || Tiene un efecto de cortocircuito, el lado izquierdo es verdadero y el lado derecho no se ejecuta.
Nota: Operadores lógicos utilizados comúnmente en desarrollo: &&, ||,!
(3) La diferencia entre xor ( ^) y o (|) es: cuando tanto la izquierda como la derecha son verdaderas, el resultado de Xor es falso.
5. Operador de bit:
Aunque no se usa mucho en el desarrollo, se verá en muchos códigos de origen porque la computación subyacente de las computadoras son las operaciones de bits.
Entrevista Pregunta 1: Implemente el intercambio de dos variables enteros
El código es el siguiente:
/* Pregunta de la entrevista: Implemente el intercambio de dos variables enteros por usted mismo*/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 variables de terceros (utilizadas en el desarrollo) int c = a; a = b; b = c; System.out.println ("A:"+A+", B:"+B); System.out.println ("----------------"); // Método 2: use bit xor para implementar (entrevista) // izquierda: a, b, a // a la derecha: a ^ ba = a ^ b; b = a ^ b; // a ^ b ^ b = aa = a ^ b; // a ^ b ^ a = b sistema.out.println ("a:"+a+", b:"+b); // Método 3: Use variables para agregar 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: Hágalo en una oración b = (a+b) - (a = b); // b = 30-20 = 10, a = 20 System.out.println ("A:"+A+", B:"+B); }}Pregunta de la entrevista 2: Escriba el resultado de calcular 2 veces 8 de la manera más eficiente.
Respuesta: 2 * 8 es equivalente a 2 << 3
Revisión del conocimiento:
<<: Deseche el bit más alto en el lado izquierdo y derecho. >>: El bit más alto de la derecha es 0, y el lado izquierdo es 0; El más alto es 1, y el lado izquierdo es 1 >>>: desplazamiento derecho sin firmar sin importar si el bit más alto es 0 o 1, el lado izquierdo es 0 y el lado izquierdo es 0.
6. Operador de tres puntos:
Formato: (expresión relacional)? Expresión 1: expresión 2;
Si la condición es verdadera, el resultado después de la operación es la expresión 1;
Si la condición es falsa, el resultado después de la operación es la expresión 2;
Ejemplo:
Obtenga la gran cantidad de dos números:
El código del código de copia es el siguiente: int x = 3, y = 4, z; z = (x> y)? X: y; // z variable almacena un gran número de dos números.
Obtenga el valor máximo de tres enteros:
// Método 1: en dos pasos // A: Compare los valores máximos de A y B primero // b: Compare los valores máximos de A y B con 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: Obtener int max2 en un paso = (a> b)? ((A> c)? A: c): ((b> c)? B: c); // Este método no se recomienda: // int max2 = a> b? A> c? A: C: B> C? B: C; //System.out.println("max2:"+Max2);Se recomienda usar el método uno. Además, en el modo 2, la línea 10 y la línea 12 son los mismos y son el uso anidado del operador trigonométrico.
Compare si dos enteros son iguales:
// Compare si dos enteros son iguales int m = 100; int n = 200; // bandera booleana = (m == n)? verdadero: falso; bandera booleana = (m == n); System.out.println (bandera);
2. Entrada de datos del teclado
Cuando estamos escribiendo programas, los valores de los datos son fijos, pero en el desarrollo real, los valores de los datos deben cambiar, por lo que estoy planeando mejorar los datos en la entrada del teclado para mejorar la flexibilidad del programa.
¿Cómo implementar la entrada de datos del teclado? (Recuerda usarlo ahora)
(1) paquete de transmisión (posición en la parte superior de la definición de clase): importar java.util.scanner;
(2) crear objeto de entrada del teclado: Scanner SC = New Scanner (System.in);
(3) obtener datos a través del objeto: int x = sc.nextInt ();
Código de ejemplo:
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.