Opérateurs Java
L'une des utilisations les plus élémentaires des ordinateurs est d'effectuer des opérations mathématiques. En tant que langage informatique, Java fournit également un riche ensemble d'opérateurs pour manipuler des variables. Nous pouvons diviser les opérateurs dans les groupes suivants :
Opérateurs arithmétiques
Opérateurs relationnels
Opérateurs de bits
Opérateurs logiques
Opérateur d'affectation
Autres opérateurs
Opérateurs arithmétiques
Les opérateurs arithmétiques sont utilisés dans les expressions mathématiques et fonctionnent de la même manière qu'en mathématiques. Le tableau suivant répertorie tous les opérateurs arithmétiques.
L'exemple du tableau suppose que la valeur de la variable entière A est 10 et la valeur de la variable B est 20 :
Opérateur | Description | Exemple |
---|---|---|
+ | Addition - les valeurs des deux côtés de l'opérateur d'addition | A + B est égal à 30 |
- | Soustraction - opérande gauche moins opérande droit | A – B est égal à -10 |
* | Multiplication - les valeurs des deux côtés de l'opérateur de multiplication | A * B est égal à 200 |
/ | Division - divise l'opérande de gauche par l'opérande de droite | B / A est égal à 2 |
% | Modulo - le reste de l'opérande de gauche divisé par l'opérande de droite | B%A est égal à 0 |
+ + | Auto-incrémentation - la valeur de l'opérande est augmentée de 1 | B++ est égal à 21 |
-- | Décrémentation -- la valeur de l'opérande est réduite de 1 | B - - est égal à 19 |
Exemple
L'exemple de programme simple suivant montre les opérateurs arithmétiques. Copiez et collez le programme Java suivant et enregistrez-le en tant que fichier Test.java, puis compilez et exécutez le programme :
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) ); } }
La compilation et l'exécution des résultats du L'exemple ci-dessus est le suivant :
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
Opérateurs relationnels
Le tableau suivant montre les opérateurs relationnels pris en charge par Java
Instances dans le tableau La valeur de la variable entière A est 10, et la valeur de la variable B est 20 :
Opérateur | Description | Exemple |
---|---|---|
== | Vérifie si les valeurs des deux opérandes sont égales, si c'est le cas alors la condition est vraie. | (A == B) est faux (pas vrai). |
!= | Vérifie si les valeurs de deux opérandes sont égales, si les valeurs ne sont pas égales alors la condition est vraie. | (A != B) est vrai. |
> | Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si c'est le cas, la condition devient vraie. | (A> B) n’est pas vrai. |
< | Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si c'est le cas, la condition devient vraie. | (A <B) est vrai. |
> = | Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si c'est le cas, la condition devient vraie. | (A> = B) est faux. |
<= | Vérifie si la valeur de l'opérande de gauche est inférieure ou égale à la valeur de l'opérande de droite, si c'est le cas, la condition devient vraie. | (A <= B) est vrai. |
Exemple
L'exemple de programme simple suivant montre les opérateurs relationnels. Copiez et collez le programme Java suivant et enregistrez-le en tant que fichier Test.java, puis compilez et exécutez le programme :
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) ); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
a == b = false a != b = true a > b = false a < b = true b >= a = true b <= a = false
Opérateur bit à bit
Java définit des opérateurs au niveau bit, qui sont appliqués aux types entiers (int), entier long (long), entier court (short), type de caractère (char) et type d'octet (byte ).
Les opérateurs au niveau du bit opèrent sur tous les bits et fonctionnent au niveau du bit. Supposons que a = 60, b = 13 ; leur représentation au format binaire sera la suivante :
A = 0011 1100 B = 0000 1101 ----------------- A&b = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011
Le tableau suivant répertorie les opérations de base des opérateurs de bits, en supposant que la valeur de la variable entière A est 60 et la valeur de la variable B est 13 :
Opérateur | Description | Exemple |
---|---|---|
& | Opérateur ET au niveau du bit, le résultat est 1 si et seulement si un certain bit des deux opérandes est différent de 0. | (A&B), obtenez 12, soit 0000 1100 |
| | Opérateur OU au niveau du bit, tant qu'un certain bit des deux opérandes a un non-0, le résultat sera 1. | (A | B) obtient 61, soit 0011 1101 |
^ | Opérateur XOR au niveau du bit, lorsqu'un certain bit des deux opérandes est différent, le bit de résultat est 1. | (A ^ B) obtient 49, soit 0011 0001 |
~ | L'opérateur de complément au niveau du bit retourne chaque bit de l'opérande. | (~A) obtient -61, soit 1100 0011 |
<< | Opérateur de décalage vers la gauche au niveau du bit. L'opérande de gauche est décalé vers la gauche du nombre de bits spécifié par l'opérande de droite. | Un << 2 obtient 240, soit 1111 0000 |
>> | Opérateur de décalage à droite au niveau du bit. L'opérande de gauche est décalé au niveau du bit vers la droite du nombre de bits spécifié par l'opérande de droite. | A >> 2 obtient 15, soit 1111 |
>>> Opérateur de remplissage zéro avec décalage à droite au niveau du bit. La valeur de l'opérande de gauche est décalée vers la droite du nombre de bits spécifié par l'opérande de droite et les postes vacants résultants sont remplis de zéros. | A>>>2 obtient 15, soit 0000 1111 |
L'exemple de programme simple suivant montre les opérateurs au niveau du bit. Copiez et collez le programme Java suivant et enregistrez-le en tant que fichier Test.java, puis compilez et exécutez le programme :
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 ); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
a & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a << 2 = 240 a >> 15 a >>> 15Opérateurs logiques
Le tableau suivant répertorie les opérations de base des opérateurs logiques, en supposant que la variable booléenne A est vraie et la variable B est fausse
Opérateur | Description | Exemple |
&&
| Appelé l’opérateur logique ET. Une condition est vraie si et seulement si les deux opérandes sont vrais. <🎜> | (A && B) est faux. <🎜><🎜><🎜> | |<🎜> | Appelé l’opérateur logique OU. La condition est vraie si l’un des deux opérandes est vrai. <🎜> | (A | | B) est vrai. <🎜><🎜><🎜> | ! <🎜> | Appelé l’opérateur logique NOT. Utilisé pour inverser l'état logique de l'opérande. Si la condition est vraie, l’opérateur logique NOT deviendra faux. <🎜> |
! (A && B) est vrai. <🎜><🎜><🎜><🎜>ExempleL'exemple de programme simple suivant montre les opérateurs logiques. Copiez et collez le programme Java suivant et enregistrez-le en tant que fichier Test.java, puis compilez et exécutez le programme : 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)); } } Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants : a && b = false a || b = true !(a && b) = true Opérateur d'affectationVoici les opérateurs d'affectation pris en charge par le langage Java :
ExempleL'exemple de programme simple ci-dessousmontre l'opérateur d'affectation. Copiez et collez le programme Java suivant et enregistrez-le en tant que fichier Test.java, puis compilez et exécutez le programme : 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 ); } } L'exemple de compilation et les résultats d'exécution ci-dessus sont les suivants : 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 Opérateur conditionnel ( ?:)L'opérateur conditionnel est également connu sous le nom d'opérateur ternaire. Cet opérateur possède 3 opérandes et doit évaluer la valeur d'une expression booléenne. L'objectif principal de cet opérateur est de décider quelle valeur doit être attribuée à la variable. variable x = (expression) ? value if true : value if false Instancepublic 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 ); } } L'exemple de compilation et d'exécution des résultats ci-dessus est le suivant : Value of b is : 30 Value of b is : 20 opérateur instanceOfCet opérateur est utilisé pour opérer instances d'objet. Vérifie si l'objet est d'un type spécifique (type de classe ou type d'interface). Le format de l'opérateur instanceof est le suivant : ( Object reference variable ) instanceOf (class/interface type) Si l'objet pointé par la variable à gauche de l'opérateur est un objet de la classe ou de l'interface (class/interface ) sur le côté droit de l’opérateur, alors le résultat est vrai. Voici un exemple : String name = 'James'; boolean result = name instanceOf String; // 由于name是String类型,所以返回真 Cet opérateur renvoie toujours vrai si les objets comparés sont compatibles avec le type de droite. Regardez l'exemple suivant : 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); } } Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants : true Priorité des opérateurs JavaLorsque plusieurs opérations Lorsque des symboles apparaissent dans une expression, qui vient en premier et qui vient en dernier ? Cela implique la question de la priorité des opérateurs. Dans une expression multi-opérateurs, différentes priorités d’opérateur conduiront à des résultats finaux très différents. Par exemple, (1+3) + (3+2)*2, si cette expression est calculée selon le signe plus comme priorité la plus élevée, la réponse est 18, et si le signe de multiplication est le priorité la plus élevée, la réponse est 14. Un autre exemple, x = 7 + 3 * 2 ; ici x obtient 13, pas 20, car l'opérateur de multiplication a une priorité plus élevée que l'opérateur d'addition, donc 3 * 2 est calculé d'abord pour obtenir 6, puis ajoutez-en 7 de plus. Les opérateurs avec la priorité la plus élevée dans le tableau ci-dessous se trouvent en haut du tableau, et les opérateurs avec la priorité la plus basse sont en bas du tableau.
|
---|