Java - Grundlegende Operatoren
Java bietet eine Vielzahl von Operatoren zum Bearbeiten von Variablen. Wir können alle Java-Operatoren in die folgenden Gruppen einteilen −
- Arithmetische Operatoren
- Relationale Operatoren
- Bitweise Operatoren
- Logische Operatoren
- Zuweisungsoperatoren
- Verschiedene Operatoren
Die arithmetischen Operatoren
Arithmetische Operatoren werden in mathematischen Ausdrücken genauso verwendet wie in der Algebra. Die folgende Tabelle listet die arithmetischen Operatoren −
aufAngenommen, die Integer-Variable A enthält 10 und die Variable B 20, dann −
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
+ (Zusatz) | Fügt Werte auf beiden Seiten des Operators hinzu. | A + B gibt 30 |
- (Subtraktion) | Subtrahiert den rechten Operanden vom linken Operanden. | A - B ergibt -10 |
* (Multiplikation) | Multipliziert Werte auf beiden Seiten des Operators. | A * B gibt 200 |
/ (Division) | Teilt den linken Operanden durch den rechten Operanden. | B/A ergibt 2 |
% (Modul) | Teilt den linken Operanden durch den rechten Operanden und gibt den Rest zurück. | B % A ergibt 0 |
++ (Inkrement) | Erhöht den Wert des Operanden um 1. | B++ ergibt 21 |
-- (Dekrement) | Verringert den Wert des Operanden um 1. | B-- ergibt 19 |
Die Vergleichsoperatoren
Die folgenden relationalen Operatoren werden von der Java-Sprache unterstützt.
Angenommen, Variable A enthält 10 und Variable B enthält 20, dann −
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
==(gleich) | Überprüft, ob die Werte zweier Operanden gleich sind oder nicht, wenn ja, dann wird die Bedingung wahr. | (A ==B) ist nicht wahr. |
!=(ungleich) | Überprüft, ob die Werte zweier Operanden gleich sind oder nicht, wenn die Werte nicht gleich sind, wird die Bedingung wahr. | (A !=B) ist wahr. |
> (größer als) | Überprüft, ob der Wert des linken Operanden größer ist als der Wert des rechten Operanden, wenn ja, dann wird die Bedingung wahr. | (A> B) ist nicht wahr. |
<(kleiner als) | Überprüft, ob der Wert des linken Operanden kleiner ist als der Wert des rechten Operanden, wenn ja, dann wird die Bedingung wahr. | (A |
>=(größer als oder gleich) | Überprüft, ob der Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden ist, wenn ja, dann wird die Bedingung wahr. | (A>=B) ist nicht wahr. |
<=(kleiner oder gleich) | Überprüft, ob der Wert des linken Operanden kleiner oder gleich dem Wert des rechten Operanden ist, wenn ja, dann wird die Bedingung wahr. | (A <=B) ist wahr. |
Die bitweisen Operatoren
Java definiert mehrere bitweise Operatoren, die auf die Integer-Typen long, int, short, char und byte angewendet werden können.
Der bitweise Operator bearbeitet Bits und führt Bit-für-Bit-Operationen durch. Angenommen, wenn a =60 und b =13; jetzt im Binärformat werden sie wie folgt aussehen −
a =0011 1100
b =0000 1101
------------------
a&b =0000 1100
a|b =0011 1101
a^b =0011 0001
~a =1100 0011
Die folgende Tabelle listet die bitweisen Operatoren −
aufAngenommen, die Integer-Variable A enthält 60 und die Variable B 13, dann −
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
&(bitweise und) | Binärer UND-Operator kopiert ein Bit in das Ergebnis, wenn es in beiden Operanden vorhanden ist. | (A &B) ergibt 12, also 0000 1100 |
| (bitweises Oder) | Der binäre ODER-Operator kopiert ein Bit, wenn es in einem der Operanden vorhanden ist. | (A | B) ergibt 61, also 0011 1101 |
^ (bitweises XOR) | Binärer XOR-Operator kopiert das Bit, wenn es in einem Operanden gesetzt ist, aber nicht in beiden. | (A ^ B) ergibt 49, also 0011 0001 |
~ (bitweises Kompliment) | Binary Ones Complement Operator ist unär und hat den Effekt, dass Bits „umgedreht“ werden. | (~A ) ergibt -61, was aufgrund einer vorzeichenbehafteten Binärzahl 1100 0011 im Zweierkomplement ist. |
<<(Linksverschiebung) | Binärer Linksverschiebungsoperator. Der Wert des linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach links verschoben. | Eine <<2 ergibt 240, was 1111 0000 entspricht |
>> (Rechtsverschiebung) | Binärer Rechtsverschiebungsoperator. Der Wert des linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben. | A>> 2 ergibt 15, also 1111 |
>>> (Nullfüllung Rechtsverschiebung) | Nach rechts verschieben Null-Füll-Operator. Der Wert des linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben und verschobene Werte werden mit Nullen aufgefüllt. | Eine>>>2 ergibt 15, also 0000 1111 |
Die logischen Operatoren
Die folgende Tabelle listet die logischen Operatoren −
aufAngenommen, die boolesche Variable A gilt als wahr und die Variable B als falsch, dann −
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
&&(logisches Und) | Als logischer UND-Operator bezeichnet. Wenn beide Operanden nicht Null sind, wird die Bedingung wahr. | (A &&B) ist falsch |
|| (logisches Oder) | Als logischer ODER-Operator bezeichnet. Wenn einer der beiden Operanden nicht Null ist, wird die Bedingung wahr. | (A || B) ist wahr |
! (logisch nicht) | Als logischer NOT-Operator bezeichnet. Wird verwendet, um den logischen Zustand seines Operanden umzukehren. Wenn eine Bedingung wahr ist, wird der logische NOT-Operator falsch. | !(A &&B) ist wahr |
Die Zuweisungsoperatoren
Es folgen die von der Java-Sprache unterstützten Zuweisungsoperatoren −
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
= | Einfacher Zuweisungsoperator. Weist Werte von rechten Operanden zu linken Operanden zu. | C =A + B weist den Wert von A + B in C |
+= | Und-Zuweisungsoperator hinzufügen. Es addiert den rechten Operanden zum linken Operanden und weist das Ergebnis dem linken Operanden zu. | C +=A entspricht C =C + A |
-= | Subtrahieren Sie den AND-Zuweisungsoperator. Es subtrahiert den rechten Operanden vom linken Operanden und weist das Ergebnis dem linken Operanden zu. | C -=A ist äquivalent zu C =C – A |
*= | Multipliziere UND-Zuweisungsoperator. Es multipliziert den rechten Operanden mit dem linken Operanden und weist das Ergebnis dem linken Operanden zu. | C *=A entspricht C =C * A |
/= | Teilen UND Zuweisungsoperator. Es dividiert den linken Operanden durch den rechten Operanden und weist das Ergebnis dem linken Operanden zu. | C /=A ist äquivalent zu C =C / A |
%= | Modul UND Zuweisungsoperator. Es nimmt Modulus mit zwei Operanden und weist das Ergebnis dem linken Operanden zu. | C %=A entspricht C =C % A |
<<= | Linksverschiebung UND Zuweisungsoperator. | C <<=2 ist dasselbe wie C =C <<2 |
>>= | Rechtsverschiebung UND Zuweisungsoperator. | C>>=2 ist dasselbe wie C =C>> 2 |
&= | Bitweiser UND-Zuweisungsoperator. | C &=2 ist dasselbe wie C =C &2 |
^= | Bitweises exklusives ODER und Zuweisungsoperator. | C ^=2 ist dasselbe wie C =C ^ 2 |
|= | bitweises inklusives ODER und Zuweisungsoperator. | C |=2 ist dasselbe wie C =C | 2 |
Verschiedene Operatoren
Es gibt nur wenige andere Operatoren, die von der Java-Sprache unterstützt werden.
Bedingter Operator ( ? :)
Der Bedingungsoperator ist auch als ternärer Operator bekannt . Dieser Operator besteht aus drei Operanden und dient der Auswertung boolscher Ausdrücke. Das Ziel des Operators ist es zu entscheiden, welcher Wert der Variablen zugewiesen werden soll. Der Operator wird als −
geschriebenvariable x = (expression) ? value if true : value if false
Es folgt ein Beispiel −
Beispiel
Live-Demopublic 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 ); } }
Dies wird das folgende Ergebnis erzeugen −
Ausgabe
Value of b is : 30 Value of b is : 20
Instanz des Operators
Dieser Operator wird nur für Objektreferenzvariablen verwendet. Der Operator prüft, ob das Objekt von einem bestimmten Typ ist (Klassentyp oder Schnittstellentyp). instanceof-Operator wird als −
geschrieben( Object reference variable ) instanceof (class/interface type)
Wenn das Objekt, auf das durch die Variable auf der linken Seite des Operators verwiesen wird, die IS-A-Prüfung für den Klassen-/Schnittstellentyp auf der rechten Seite besteht, dann ist das Ergebnis wahr. Es folgt ein Beispiel −
Beispiel
Live-Demopublic class Test { public static void main(String args[]) { String name = "James"; // following will return true since name is type of String boolean result = name instanceof String; System.out.println( result ); } }
Dies wird das folgende Ergebnis erzeugen −
Ausgabe
true
Dieser Operator gibt immer noch true zurück, wenn das zu vergleichende Objekt die Zuweisung ist, die mit dem Typ auf der rechten Seite kompatibel ist. Es folgt ein weiteres Beispiel −
Beispiel
Live-Democlass 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 ); } }
Dies wird das folgende Ergebnis erzeugen −
Ausgabe
true
Vorrang von Java-Operatoren
Die Operatorpriorität bestimmt die Gruppierung von Begriffen in einem Ausdruck. Dies wirkt sich darauf aus, wie ein Ausdruck ausgewertet wird. Bestimmte Operatoren haben Vorrang vor anderen; Beispielsweise hat der Multiplikationsoperator Vorrang vor dem Additionsoperator −
Zum Beispiel x =7 + 3 &ost; 2; hier wird x 13 zugewiesen, nicht 20, da der Operator * hat einen höheren Vorrang als +, wird also zuerst mit 3 multipliziert * 2 und addiert dann zu 7.
Dabei erscheinen die Operatoren mit der höchsten Priorität ganz oben in der Tabelle, die mit der niedrigsten Priorität ganz unten. Innerhalb eines Ausdrucks werden Operatoren mit höherer Priorität zuerst ausgewertet.
Kategorie | Operator | Assoziativität |
---|---|---|
Postfix | Ausdruck++ Ausdruck-- | Von links nach rechts |
Unär | ++Ausdruck –-Ausdruck +Ausdruck –Ausdruck ~ ! | Rechts nach links |
Multiplikativ | * / % | Von links nach rechts |
Additiv | + - | Von links nach rechts |
Umschalten | <<>>>>> | Von links nach rechts |
Relational | <> <=>=Instanz von | Von links nach rechts |
Gleichheit | ==!= | Von links nach rechts |
Bitweises UND | & | Von links nach rechts |
Bitweises XOR | ^ | Von links nach rechts |
Bitweises ODER | | | Von links nach rechts |
Logisches UND | && | Von links nach rechts |
Logisches ODER | || | Von links nach rechts |
Bedingt | ?: | Rechts nach links |
Zuweisung | =+=-=*=/=%=^=|=<<=>>=>>>= | Rechts nach links |
Was kommt als Nächstes?
Das nächste Kapitel erklärt die Schleifensteuerung in der Java-Programmierung. Das Kapitel beschreibt verschiedene Arten von Schleifen und wie diese Schleifen in der Java-Programmentwicklung verwendet werden können und für welche Zwecke sie verwendet werden.
Java