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.