Uno, operadores relacionales
No es necesario explicar los operadores relacionales simples, solo practique el código y estará bien.
1. Código
float e=0;
a=3;
b=4;
c=5;
d=0;
System.out.println("\n\na="+a+",b="+b+",c="+c+",d="+d+",e="+e);
System.out.println("a>0:"+(a>0));
System.out.println("b<c:"+(b<c));
System.out.println("d<=0:"+(d<=0));
System.out.println("b*b-4*a*c>=0:"+(b*b-4*a*c>=0));
System.out.println("a!=b:"+(a!=b));
System.out.println("d==e:"+(d==e));
2. Ejecución de resultados
Dos, operadores lógicos
No hay nada que decir, solo tres,
&&
||
!
Aquí hay un pequeño ejercicio y lo tomaré de una vez.
1. Código
int year=2022;
if( (year%4==0 && year%100!=0) || (year%400==0) || (year%3200==0 && year%172800==0))
System.out.println("闰年");
else
System.out.println("非闰年");
2. Ejecución de resultados
Tres operadores bit a bit
Finalmente, llegó algo decente.
1. Código original, código inverso y código complementario
(1) Código original
Antes del valor, agregue el bit de signo, 0 significa positivo, 1 significa negativo.
(2) Código inverso
El código inverso de un número positivo es el mismo que el código original.
El código inverso de un número negativo es el inverso del código original, excepto por el bit de signo.
(3) Código de complemento
En la computadora, el valor siempre se expresa en complemento.
La razón es que el bit de signo y el bit de valor se pueden procesar de manera uniforme utilizando el código de complemento.
Al mismo tiempo, la suma y la resta también se pueden manejar de manera uniforme.
Además, el código complementario y el código original se convierten mutuamente, y el proceso de operación es el mismo y no se requiere ningún circuito de hardware adicional.
El complemento de un entero positivo es el mismo que el del código original.
El complemento de un entero negativo es su inverso más 1.
2. Operador de bits
De uso común (familiar):
~ & | ^ De
uso poco común (un poco desconocido):
<<
>>
>>>
(1) >> n
Desplazarse hacia la derecha en n significa que el bit de signo de complemento más a la izquierda significa dividir por 2 elevado a n.
(2) << n
Desplazarse hacia la izquierda en n bits y agregar 0 a la derecha, significa multiplicar por 2 a la potencia de n.
(3) >>> n
Mueva a la derecha sin firmar por n, ignorando el bit de signo, y todos los bits vacíos se rellenan con 0.
3. Ejemplo
Código
b=-13;
System.out.println("\n\n"+a+"的原码:0000 0110");
System.out.println(""+a+"的反码:0000 0110");
System.out.println(""+a+"的补码:0000 0110");
System.out.println("\n\n"+b+"的原码:1000 1101");
// 负数反码是其除了符号位以外的相反数
System.out.println(""+b+"的反码:1111 0010");
// 负数的补码是其反码加1
System.out.println(""+b+"的补码:1111 0011");
// 右移运算符,在最左边补符号位。
System.out.println(""+b+">>2的补码:1111 1100(11)");
System.out.println(""+a+"的补码:0000 0110");
System.out.println(""+a+">>2的补码:0000 0001(10)");
// 左移运算符,在最右边补0.
System.out.println(""+a+"<<2的补码:0001 1000");
System.out.println(""+b+"的补码:1111 0011");
System.out.println(""+b+"<<2的补码:1100 1100");
System.out.println(""+b+"<<2的反码:1100 1011");
System.out.println(""+b+"<<2的原码:1011 0100");
resultado de la operación
Cuatro, otros operadores
nuevo, crea un objeto o asigna espacio para la matriz
instancia de, determina si el objeto es una instancia de una clase
Ejemplo
Integer aa=3;
if(aa instanceof Integer)
System.out.println(aa+"是整数");
else
System.out.println(aa+"不是整数");
Cinco, la precedencia de los operadores
1. De izquierda a derecha
.
()
[]
2. De derecha a izquierda
+
-
++
- -
~
!
3. De izquierda a derecha
*
/
%
4. De izquierda a derecha
+
-
5. De izquierda a derecha
<<
>>
>>>
6. De izquierda a derecha
<
<=
>
> =
Instanceof
7. De izquierda a derecha (todos los siguientes 8-12)
==
! =
8 、 y
9 、 |
10 、 ^
11 、 &&
12 、 ||
13.? : (De derecha a izquierda)
14. = (de derecha a izquierda)
15. Operador de asignación mixta (de derecha a izquierda)
* =
/ =
% =
+ =
- =
<< =
>> =
>>> =
& =
| =
^ =