Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java Grundlagen: Umfassender Leitfaden zu Kernoperatoren

Java bietet einen reichen Satz von Operatoren zur Manipulation von Variablen. Wir können alle Java-Operatoren in folgende Gruppen einteilen:

Arithmetische Operatoren

Arithmetische Operatoren werden in mathematischen Ausdrücken genauso verwendet wie in der Algebra. Die folgende Tabelle listet die arithmetischen Operatoren auf:

Angenommen, die Integer-Variable A hält 10 und Variable B hält 20, dann:

OperatorBeschreibungBeispiel
+ (Addition)Addiert Werte auf beiden Seiten des Operators.A + B ergibt 30
- (Subtraktion)Subtrahiert rechten Operanden vom linken.A - B ergibt -10
* (Multiplikation)Multipliziert Werte auf beiden Seiten.A * B ergibt 200
/ (Division)Dividiert linken Operanden durch rechten.B / A ergibt 2
% (Modulus)Dividiert und gibt Rest zurück.B % A ergibt 0
++ (Inkrement)Erhöht Operandenwert um 1.B++ ergibt 21
-- (Dekrement)Verringert Operandenwert um 1.B-- ergibt 19

Relationale Operatoren

Folgende relationale Operatoren werden von Java unterstützt:

Angenommen, Variable A hält 10 und Variable B hält 20, dann:

OperatorBeschreibungBeispiel
== (gleich)Prüft, ob zwei Operanden gleich sind; wenn ja, wird Bedingung true.(A == B) ist nicht true.
!= (ungleich)Prüft, ob zwei Operanden ungleich sind; wenn ja, wird Bedingung true.(A != B) ist true.
> (größer als)Prüft, ob linker Operand größer als rechter; wenn ja, Bedingung true.(A > B) ist nicht true.
< (kleiner als)Prüft, ob linker Operand kleiner als rechter; wenn ja, Bedingung true.(A < B) ist true.
>= (größer gleich)Prüft, ob linker Operand größer oder gleich rechtem; wenn ja, Bedingung true.(A >= B) ist nicht true.
<= (kleiner gleich)Prüft, ob linker Operand kleiner oder gleich rechtem; wenn ja, Bedingung true.(A <= B) ist true.

Bitweise Operatoren

Java definiert mehrere bitweise Operatoren, die auf ganzzahlige Typen (long, int, short, char, byte) angewendet werden können.

Bitweise Operatoren arbeiten auf Bits und führen bitweise Operationen durch. Angenommen a = 60 und b = 13; in binärer Form:

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 auf:

Angenommen, Integer-Variable A hält 60 und Variable B hält 13:

OperatorBeschreibungBeispiel
& (bitwise AND)Binärer UND-Operator kopiert ein Bit ins Ergebnis, wenn es in beiden Operanden existiert.(A & B) ergibt 12 (0000 1100)
| (bitwise OR)Binärer ODER-Operator kopiert ein Bit, wenn es in einem der Operanden existiert.(A | B) ergibt 61 (0011 1101)
^ (bitwise XOR)Binärer XOR-Operator kopiert das Bit, wenn es in einem, aber nicht in beiden Operanden gesetzt ist.(A ^ B) ergibt 49 (0011 0001)
~ (bitwise Komplement)Binärer Einer-Komplement-Operator ist unär und 'kippte' Bits.(~A) ergibt -61 (1100 0011 in 2er-Komplement)
<< (Linksverschiebung)Binärer Linksverschiebungs-Operator. Wert des linken Operanden wird um Anzahl Bits des rechten Operanden nach links verschoben.A << 2 ergibt 240 (1111 0000)
>> (Rechtsverschiebung)Binärer Rechtsverschiebungs-Operator. Wert des linken Operanden wird um Anzahl Bits des rechten Operanden nach rechts verschoben.A >> 2 ergibt 15 (1111)
>>> (Null-Auffüllung Rechtsverschiebung)Rechtsverschiebung mit Null-Auffüllung. Verschobene Werte werden mit Nullen aufgefüllt.A >>> 2 ergibt 15 (0000 1111)

Logische Operatoren

Die folgende Tabelle listet die logischen Operatoren auf:

Angenommen, boolesche Variable A hält true und Variable B hält false:

OperatorBeschreibungBeispiel
&& (logisches UND)Logischer UND-Operator. Wenn beide Operanden non-zero, wird Bedingung true.(A && B) ist false
|| (logisches ODER)Logischer ODER-Operator. Wenn einer der Operanden non-zero, wird Bedingung true.(A || B) ist true
! (logisches NICHT)Logischer NICHT-Operator. Kehrt den logischen Zustand des Operanden um. Wenn Bedingung true, macht NICHT sie false.!(A && B) ist true

Zuweisungsoperatoren

Folgend die von Java unterstützten Zuweisungsoperatoren:

OperatorBeschreibungBeispiel
=Einfacher Zuweisungsoperator. Weist Werte von rechts nach links zu.C = A + B weist Wert von A + B in C zu
+=Addieren UND zuweisen. Addiert rechten zum linken Operanden und weist Ergebnis links zu.C += A entspricht C = C + A
-=Subtrahieren UND zuweisen. Subtrahiert rechten vom linken Operanden und weist Ergebnis links zu.C -= A entspricht C = C – A
*=Multiplizieren UND zuweisen. Multipliziert rechten mit linkem Operanden und weist Ergebnis links zu.C *= A entspricht C = C * A
/=Dividieren UND zuweisen. Dividiert linken durch rechten Operanden und weist Ergebnis links zu.C /= A entspricht C = C / A
%=Modulus UND zuweisen. Nimmt Modulus mit zwei Operanden und weist Ergebnis links zu.C %= A entspricht C = C % A
<<=Linksverschiebung UND zuweisen.C <<= 2 ist gleich C = C << 2
>>=Rechtsverschiebung UND zuweisen.C >>= 2 ist gleich C = C >> 2
&=Bitweises UND UND zuweisen.C &= 2 ist gleich C = C & 2
^=Bitweises exklusives ODER UND zuweisen.C ^= 2 ist gleich C = C ^ 2
|=Bitweises inklusives ODER UND zuweisen.C |= 2 ist gleich C = C | 2

Sonstige Operatoren

Bedingungsoperator ( ? : )

Der Bedingungsoperator ist auch als ternärer Operator bekannt. Er besteht aus drei Operanden und wird verwendet, um boolesche Ausdrücke auszuwerten. Ziel ist es zu entscheiden, welcher Wert der Variable zugewiesen werden soll. Der Operator wird geschrieben als:

variable x = (ausdruck) ? wert_wenn_wahr : wert_wenn_falsch

Folgendes Beispiel:

Beispiel

Live Demo
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 produziert folgendes Ergebnis:

Ausgabe

Value of b is : 30
Value of b is : 20

instanceof Operator

Dieser Operator wird nur für Objektreferenzvariablen verwendet. Er prüft, ob das Objekt eines bestimmten Typs (Klassentyp oder Interfacetyp) ist. instanceof wird geschrieben als:

(Objektreferenzvariable) instanceof (Klassen/Interface-Typ)

Wenn das Objekt, auf das die Variable links vom Operator verweist, den IS-A-Check für den Klassen/Interface-Typ rechts besteht, ist das Ergebnis true. Beispiel:

Beispiel

Live Demo
public class Test {
  public static void main(String args[]) {
    String name = "James";
    // Gibt true zurück, da name Typ String ist
    boolean result = name instanceof String;
    System.out.println(result);
  }
}

Dies produziert folgendes Ergebnis:

Ausgabe

true

Dieser Operator gibt auch true zurück, wenn das verglichene Objekt zuweisungskompatibel mit dem Typ rechts ist. Ein weiteres Beispiel:

Beispiel

Live Demo
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 produziert folgendes Ergebnis:

Ausgabe

true

Rangfolge von Java-Operatoren

Operatorrangfolge bestimmt die Gruppierung von Termen in einem Ausdruck. Dies beeinflusst, wie ein Ausdruck ausgewertet wird. Bestimmte Operatoren haben höhere Rangfolge als andere; zum Beispiel hat der Multiplikationsoperator höhere Rangfolge als der Additionsoperator:

Beispiel: x = 7 + 3 * 2; hier wird x zu 13, nicht 20, weil * höhere Rangfolge als + hat, also wird zuerst 3 * 2 multipliziert und dann zu 7 addiert.

Hier erscheinen Operatoren mit höchster Rangfolge oben in der Tabelle, niedrigste unten. In einem Ausdruck werden Operatoren mit höherer Rangfolge zuerst ausgewertet.

KategorieOperatorAssoziativität
Postfixexpression++ expression--Links nach rechts
Unär++expression –-expression +expression –expression ~ !Rechts nach links
Multiplikativ* / %Links nach rechts
Additiv+ -Links nach rechts
Shift<< >> >>>Links nach rechts
Relational< > <= >= instanceofLinks nach rechts
Gleichheit== !=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
Bedingung?:Rechts nach links
Zuweisung= += -= *= /= %= ^= |= <<= >>= >>>=Rechts nach links

Was kommt als Nächstes?

Das nächste Kapitel erklärt Schleifenkontrolle in Java. Es beschreibt verschiedene Schleifentypen und wie diese in Java-Programmen verwendet werden können und zu welchen Zwecken.

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java Ein- und Ausgabe meistern: Drucken, Lesen und Formatieren Ihrer Daten
  3. Java Kommentare: Typen, Verwendung und Best Practices
  4. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  5. Java Strings meistern: Erstellung, Methoden und Best Practices
  6. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  7. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  8. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  9. Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
  10. Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität