Notes d'étude d'introduction à Java (trois) - opérateurs et expressions, opérateurs relationnels, opérateurs logiques, opérateurs de bits, autres opérateurs, priorité des opérateurs

Un, les opérateurs relationnels

Les opérateurs relationnels simples n'ont pas besoin d'être expliqués, il suffit de s'entraîner sur le code et ce sera OK.

1. Code

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));

Insérez la description de l'image ici

2. Résultats en cours d'exécution

Insérez la description de l'image ici

Deux opérateurs logiques

Il n'y a rien à dire, juste trois,
&&
||
!
Voici un petit exercice et je vais le faire d'un seul coup.

1. Code

		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. Résultats en cours d'exécution

Insérez la description de l'image ici

Trois opérateurs au niveau du bit

Finalement, quelque chose de décent est arrivé.

1. Code d'origine, code inverse et code complémentaire

(1) Code d'origine

Avant la valeur, ajoutez le bit de signe, 0 signifie positif, 1 signifie négatif.

(2) Code inverse

Le code inverse d'un nombre positif est le même que le code d'origine.
Le code inverse d'un nombre négatif est l'inverse du code d'origine, à l'exception du bit de signe.

(3) Code complémentaire

Dans l'ordinateur, la valeur est toujours exprimée en complément.
La raison est que le bit de signe et le bit de valeur peuvent être traités de manière uniforme en utilisant le code complémentaire.
En même temps, l'addition et la soustraction peuvent également être gérées de manière uniforme.
De plus, le code complémentaire et le code d'origine sont mutuellement convertis, et le processus de fonctionnement est le même, et aucun circuit matériel supplémentaire n'est requis.

Le complément d'un entier positif est le même que le code d'origine.
Le complément d'un entier négatif est son inverse plus 1.

2. Opérateur de bits

Couramment utilisé (familier):
~ & | ^ Peu
utilisé (un peu inconnu):
<<
>>
>>>

(1) >> n

Le décalage vers la droite de n signifie que le bit de signe complémentaire le plus à gauche signifie une division par 2 à la puissance n.

(2) << n

Décaler vers la gauche de n bits et ajouter 0 vers la droite signifie multiplier par 2 à la puissance n.

(3) >>> n

Décalez à droite non signé de n, en ignorant le bit de signe, et tous les bits vides sont remplis de 0.

3. Exemple

Code

		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");

résultat de l'opération

Insérez la description de l'image ici

Quatre, autres opérateurs

new, créer un objet ou allouer de l'espace pour le tableau
instanceof, déterminer si l'objet est une instance d'une classe

Exemple

		Integer aa=3;
		if(aa instanceof Integer)
			System.out.println(aa+"是整数");
		else
			System.out.println(aa+"不是整数");

Cinq, la priorité des opérateurs

1. De gauche à droite

.
()
[]

2. De droite à gauche

+
-
++
- -
~
!

3. De gauche à droite

*
/
%

4. De gauche à droite

+
-

5. De gauche à droite

<<
>>
>>>

6. De gauche à droite

<
<=
>
> =
Instanceof

7. De gauche à droite (tous les 8 à 12 suivants)

==
! =

8 、 et

9 、 |

10 、 ^

11 、 &&

12 、 ||

13.? : (De droite à gauche)

14. = (de droite à gauche)

15. Opérateur d'affectation mixte (de droite à gauche)

* =
/ =
% =

+ =
- =

<< =
>> =
>>> =

& =

| =

^ =

Je suppose que tu aimes

Origine blog.csdn.net/qq_41563270/article/details/108703439
conseillé
Classement