Java - Basisoperatoren
Java bietet eine Vielzahl von Operatoren zum Bearbeiten von Variablen. Wir können alle Java-Operatoren in die folgenden Gruppen einteilen:
- Rechenzeichen
- Vergleichsoperatoren
- Bitweise Operatoren
- Logische Operatoren
- Zuweisungsoperatoren
- Verschiedene Operatoren
Die arithmetischen Operatoren
Arithmetische Operatoren werden in mathematischen Ausdrücken genauso verwendet wie in der Algebra. In der folgenden Tabelle sind die arithmetischen Operatoren aufgeführt.
Angenommen, die ganzzahlige Variable A enthält 10 und die Variable B 20, dann -
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
+ (Ergänzung) | Fügt Werte auf beiden Seiten des Operators hinzu. | A + B ergibt 30 |
- (Subtraktion) | Subtrahiert den rechten Operanden vom linken Operanden. | A - B ergibt -10 |
* (Multiplikation) | Multipliziert Werte auf beiden Seiten des Operators. | A * B ergibt 200 |
/ (Teilung) | 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-- gibt 19 |
Die Vergleichsoperatoren
Es gibt folgende relationale Operatoren, die von der Java-Sprache unterstützt werden.
Angenommen, Variable A hält 10 und Variable B hält 20, dann -
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
== (gleich) | Überprüft, ob die Werte von zwei Operanden gleich sind oder nicht. Wenn ja, wird die Bedingung wahr. | (A == B) ist nicht wahr. |
! = (ungleich) | Überprüft, ob die Werte von zwei 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 als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. | (A> B) ist nicht wahr. |
<(weniger als) | Überprüft, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist. Wenn ja, wird die Bedingung wahr. | (A <B) ist wahr. |
> = (größer oder gleich) | Überprüft, ob der Wert des linken Operanden größer oder gleich dem Wert des rechten Operanden ist. Wenn ja, 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, wird die Bedingung wahr. | (A <= B) ist wahr. |
Die bitweisen Operatoren
Java definiert mehrere bitweise Operatoren, die auf die Ganzzahltypen long, int, short, char und byte angewendet werden können.
Der bitweise Operator arbeitet mit Bits und führt eine bitweise Operation durch. Angenommen, a = 60 und b = 13; jetzt im Binärformat werden sie wie folgt sein -
a = 0011 1100
b = 0000 1101
-----------------
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
~ a = 1100 0011
In der folgenden Tabelle sind die bitweisen Operatoren aufgeführt -
Angenommen, die ganzzahlige Variable A hält 60 und die Variable B hält 13, dann -
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
& (bitweise und) | Der binäre UND-Operator kopiert ein Bit in das Ergebnis, wenn es in beiden Operanden vorhanden ist. | (A & B) ergibt 12, was 0000 1100 ist |
| (bitweise oder) | Der binäre ODER-Operator kopiert ein Bit, wenn es in einem der Operanden vorhanden ist. | (A | B) ergibt 61, was 0011 1101 ist |
^ (bitweises XOR) | Der binäre XOR-Operator kopiert das Bit, wenn es in einem Operanden gesetzt ist, aber nicht in beiden. | (A ^ B) ergibt 49, was 0011 0001 ist |
~ (bitweises Kompliment) | Der Komplementoperator für binäre Einsen ist unär und bewirkt das Umdrehen von Bits. | (~ A) ergibt -61, was aufgrund einer vorzeichenbehafteten Binärzahl 1100 0011 in 2er-Komplementform ist. |
<< (Linksverschiebung) | Binärer Linksschaltoperator. Der Wert der linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach links verschoben. | Ein << 2 ergibt 240, was 1111 0000 ist |
>> (Rechtsverschiebung) | Binärer Rechtsschieber. Der Wert der linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben. | Eine >> 2 ergibt 15, was 1111 ist |
>>> (Nullfüllung rechtsverschiebung) | Verschieben Sie den Nullfüllungsoperator nach rechts. Der Wert der linken Operanden wird um die vom rechten Operanden angegebene Anzahl von Bits nach rechts verschoben, und verschobene Werte werden mit Nullen gefüllt. | Eine >>> 2 ergibt 15, was 0000 1111 ist |
Die logischen Operatoren
In der folgenden Tabelle sind die logischen Operatoren aufgeführt.
Angenommen, die booleschen Variablen A sind wahr und die Variable B ist falsch, dann -
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
&& (logisch und) | Wird als logischer UND-Operator bezeichnet. Wenn beide Operanden ungleich Null sind, wird die Bedingung wahr. | (A && B) ist falsch |
|| (logisch oder) | Wird als logischer ODER-Operator bezeichnet. Wenn einer der beiden Operanden ungleich Null ist, wird die Bedingung erfüllt. | (A || B) ist wahr |
! (logisch nicht) | Wird als logischer NICHT-Operator bezeichnet. Verwenden Sie diese Option, um den logischen Status des Operanden umzukehren. Wenn eine Bedingung wahr ist, macht der Operator Logical NOT false. | ! (A && B) ist wahr |
Die Zuweisungsoperatoren
Im Folgenden sind die Zuweisungsoperatoren aufgeführt, die von der Java-Sprache unterstützt werden:
Beispiele anzeigen
Operator | Beschreibung | Beispiel |
---|---|---|
= | Einfacher Zuweisungsoperator. Weist dem linken Operanden Werte von Operanden auf der rechten Seite zu. | C = A + B weist C den Wert von A + B zu |
+ = | UND-Zuweisungsoperator hinzufügen. Es fügt dem linken Operanden den rechten Operanden hinzu und weist das Ergebnis dem linken Operanden zu. | C + = A entspricht C = C + A. |
- = | UND-Zuweisungsoperator subtrahieren. Es subtrahiert den rechten Operanden vom linken Operanden und weist das Ergebnis dem linken Operanden zu. | C - = A entspricht C = C - A. |
* = | Multiplikations- 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. |
/ = | Divide AND Zuweisungsoperator. Es teilt den linken Operanden mit dem rechten Operanden und weist das Ergebnis dem linken Operanden zu. | C / = A entspricht C = C / A. |
% = | Modul UND Zuweisungsoperator. Es nimmt den Modul mit zwei Operanden und ordnet 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 Inklusiv-ODER und Zuweisungsoperator. | C | = 2 ist dasselbe wie C = C | 2 |
Verschiedene Betreiber
Es gibt nur wenige andere Operatoren, die von Java Language unterstützt werden.
Bedingter Operator (? :)
Der bedingte Operator wird auch als bezeichnet ternary operator. Dieser Operator besteht aus drei Operanden und wird zum Auswerten von Booleschen Ausdrücken verwendet. Ziel des Operators ist es, zu entscheiden, welcher Wert der Variablen zugewiesen werden soll. Der Operator wird geschrieben als -
variable x = (expression) ? value if true : value if false
Das Folgende ist ein Beispiel -
Example
public 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 führt zu folgendem Ergebnis:
Output
Value of b is : 30
Value of b is : 20
Instanz des Betreibers
Dieser Operator wird nur für Objektreferenzvariablen verwendet. Der Operator prüft, ob das Objekt von einem bestimmten Typ ist (Klassentyp oder Schnittstellentyp). Instanz des Operators wird geschrieben als -
( Object reference variable ) instanceof (class/interface type)
Wenn das Objekt, auf das die Variable auf der linken Seite des Operators verweist, die IS-A-Prüfung für den Klassen- / Schnittstellentyp auf der rechten Seite besteht, ist das Ergebnis wahr. Das Folgende ist ein Beispiel -
Example
public 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 führt zu folgendem Ergebnis:
Output
true
Dieser Operator gibt weiterhin true zurück, wenn das zu vergleichende Objekt die Zuordnung ist, die mit dem Typ rechts kompatibel ist. Es folgt ein weiteres Beispiel:
Example
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 );
}
}
Dies führt zu folgendem Ergebnis:
Output
true
Vorrang von Java-Operatoren
Die Operatorrangfolge bestimmt die Gruppierung von Begriffen in einem Ausdruck. Dies wirkt sich darauf aus, wie ein Ausdruck ausgewertet wird. Bestimmte Operatoren haben eine höhere Priorität als andere. Beispielsweise hat der Multiplikationsoperator eine höhere Priorität als der Additionsoperator -
Zum Beispiel ist x = 7 + 3 * 2; Hier wird x 13 zugewiesen, nicht 20, da der Operator * eine höhere Priorität als + hat. Daher wird er zuerst mit 3 * 2 multipliziert und dann zu 7 addiert.
Hier werden Operatoren mit der höchsten Priorität oben in der Tabelle angezeigt, Operatoren mit der niedrigsten Priorität unten. Innerhalb eines Ausdrucks werden zuerst Operatoren mit höherer Priorität ausgewertet.
Kategorie | Operator | Assoziativität |
---|---|---|
Postfix | Ausdruck ++ Ausdruck-- | Links nach rechts |
Einstellig | ++ Ausdruck –-Ausdruck + Ausdruck –Ausdruck ~! | Rechts nach links |
Multiplikativ | * /% | Links nach rechts |
Zusatzstoff | + - | Links nach rechts |
Verschiebung | << >> >>> | Links nach rechts |
Relational | <> <=> = instanceof | Links nach rechts |
Gleichberechtigung | ==! = | Links nach rechts |
Bitweises UND | & | Links nach rechts |
Bitweises XOR | ^ | Links nach rechts |
Bitweises ODER | | | Links nach rechts |
Logisches UND | && | Links nach rechts |
Logisches ODER | || | Links nach rechts |
Bedingt | ?: | Rechts nach links |
Zuordnung | = + = - = * = / =% = ^ = | = << = >> = >>> = | Rechts nach links |
Was kommt als nächstes?
Im nächsten Kapitel wird die Schleifensteuerung in der Java-Programmierung erläutert. In diesem Kapitel werden verschiedene Arten von Schleifen beschrieben und wie diese Schleifen in der Java-Programmentwicklung verwendet werden können und für welche Zwecke sie verwendet werden.