<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Operator</id>
	<title>Operator - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Operator"/>
	<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Operator&amp;action=history"/>
	<updated>2026-06-21T22:07:41Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FLBK-Wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Operator&amp;diff=2088&amp;oldid=prev</id>
		<title>Thomas: Die Seite wurde neu angelegt: „== Einführung == Java kennt eine Vielzahl von arithmetischen, logischen, und relationalen Operatoren. Es folgen einige gängige Operatoren. Bis auf wenige Ausnahmen sollten alle Operatoren und das, was sie leisten, aus der Schule bekannt sein.  == Arithmetische Operatoren == {| class=&quot;wikitable center&quot; style=&quot;text-align:left&quot; ! Operator ! Beschreibung ! Kurzbeispiel |- | style=&quot;width: 5%&quot; |  +  | style=&quot;width:50%&quot; | Addition || &lt;syntaxhighlight lang=…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Operator&amp;diff=2088&amp;oldid=prev"/>
		<updated>2025-09-30T08:31:42Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== Einführung == &lt;a href=&quot;/Java&quot; title=&quot;Java&quot;&gt;Java&lt;/a&gt; kennt eine Vielzahl von arithmetischen, logischen, und relationalen Operatoren. Es folgen einige gängige Operatoren. Bis auf wenige Ausnahmen sollten alle Operatoren und das, was sie leisten, aus der Schule bekannt sein.  == Arithmetische Operatoren == {| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot; ! Operator ! Beschreibung ! Kurzbeispiel |- | style=&amp;quot;width: 5%&amp;quot; |  +  | style=&amp;quot;width:50%&amp;quot; | Addition || &amp;lt;syntaxhighlight lang=…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Einführung ==&lt;br /&gt;
[[Java]] kennt eine Vielzahl von arithmetischen, logischen, und relationalen Operatoren. Es folgen einige gängige Operatoren. Bis auf wenige Ausnahmen sollten alle Operatoren und das, was sie leisten, aus der Schule bekannt sein.&lt;br /&gt;
&lt;br /&gt;
== Arithmetische Operatoren ==&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; |  + &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | Addition || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int antwort = 40 + 2;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| - || Subtraktion || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int antwort = 48 - 6;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| * ||  Multiplikation || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int antwort = 2 * 21;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| / || Division || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int antwort = 84 / 2;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| % || Teilerrest,  Modulo-Operation, errechnet den Rest einer Division ||  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int antwort = 99 % 57;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||+ || positives Vorzeichen, in der Regel überflüssig || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int j = +3;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| - || negatives Vorzeichen || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int minusJ = -j;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Für zwei besonders in [[Schleife|Schleifen]] häufig anzutreffende Berechnungen gibt es eine abkürzende Schreibweise. &lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot;| ++ &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot;| Postinkrement, Addiert 1 zu einer numerischen Variablen || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x++;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| ++ || Preinkrement, Addiert 1 zu einer numerischen Variablen || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;++x;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| -- || Postdekrement, Subtrahiert 1 von einer numerischen Variablen || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x--;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| -- || Predekrement, Subtrahiert 1 von einer numerischen Variablen ||  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;--x;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Post- und Pre-Operatoren verhalten sich bezüglich ihrer Berechnung absolut gleich, der Unterschied ist der Zeitpunkt, wann die Operation ausgeführt wird. Zum Tragen kommt das bei Zuweisungen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    i = 1;&lt;br /&gt;
    a = ++i; // i = 2 und a = 2 (erst hochzählen, dann zuweisen)&lt;br /&gt;
&lt;br /&gt;
    i = 1;&lt;br /&gt;
    b = i++; // i = 2 und b = 1 (erst zuweisen, dann hochzählen)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operatoren für Vergleiche ==&lt;br /&gt;
Das Ergebnis dieser Operationen ist aus der Menge &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | == &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | gleich || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; 3 == 3 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| != || ungleich ||  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; 4 != 3 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;gt; || größer als || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; 4 &amp;gt; 3 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt; || kleiner als || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; -4 &amp;lt; -3 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;gt;= || größer als oder gleich || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; 3 &amp;gt;= 3 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;= || kleiner als oder gleich ||  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; -4 &amp;lt;= 4 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Boolesche Operatoren ==&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | ! &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | Negation, invertiert den Ausdruck || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;boolean lügnerSpricht = !wahrheit;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;amp;&amp;amp; || Und, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, genau dann wenn alle Argumente &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; sind || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;boolean krümelmonster = istBlau &amp;amp;&amp;amp; magKekse;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||  &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; ||  or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn &amp;#039;&amp;#039;mindestens&amp;#039;&amp;#039; ein Operand &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ist || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;boolean machePause = hungrig || durstig;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| ^ || Xor &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; wenn genau ein Operand &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ist || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;boolean zustandPhilosoph = denkt ^ ist;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Operatoren zur Manipulation von Bits ==&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | ~ &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | (unäre) invertiert alle Bits seines Operanden || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b10111011 = ~0b01000100&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;amp; || bitweises &amp;quot;und&amp;quot;, wenn beide Operanden 1 sind, wird ebenfalls eine 1 produziert, ansonsten eine 0 || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b10111011 = 0b10111111 &amp;amp; 0b11111011&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; || bitweises &amp;quot;oder&amp;quot;, produziert eine 1, sobald einer seiner Operanden eine 1 ist || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b10111011 = 0b10001000 | 0b00111011&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| ^ ||  bitweises &amp;quot;exklusives oder&amp;quot;, wenn beide Operanden den gleichen Wert haben, wird eine 0 produziert, ansonsten eine 1 || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b10111011 = 0b10001100 ^ 0b00110111&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | &amp;gt;&amp;gt; &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | Arithmetischer Rechtsshift: Rechtsverschiebung, alle Bits des Operanden werden um eine Stelle nach rechts verschoben, stand ganz links eine 1 wird mit einer 1 aufgefüllt, bei 0 wird mit 0 aufgefüllt ||  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b11101110 = 0b10111011 &amp;gt;&amp;gt; 2&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;gt;&amp;gt;&amp;gt; || Logischer Rechtsshift: Rechtsverschiebung mit Auffüllung von Nullen || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b00101110 = 0b01011101 &amp;gt;&amp;gt;&amp;gt; 1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||  &amp;lt;&amp;lt; || Linksverschiebung, entspricht bei positiven ganzen Zahlen einer Multiplikation mit 2, sofern keine &amp;quot;1&amp;quot; rausgeschoben wird. || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;0b10111010 = 0b01011101 &amp;lt;&amp;lt; 1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Zuweisungsoperatoren ==&lt;br /&gt;
Zu vielen Operatoren aus den vorstehenden Tabellen gehört eine Schreibweise, mit der gleichzeitig zugewiesen werden kann. Damit spart man sich oft etwas Schreibarbeit. Also, statt etwa &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x = x * 7;&amp;lt;/syntaxhighlight&amp;gt; zu schreiben kann man etwas verkürzt schreiben:  &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x *= 7;&amp;lt;/syntaxhighlight&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Kurzbeispiel&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | = &lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | einfache Zuweisung || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int var = 7;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| += || Addiert einen Wert zu der angegebenen Variablen ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;plusZwei += 2;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| -= || Subtrahiert einen Wert von der angegebenen Variablen ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;minusZwei -= 2;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| /= || Dividiert die Variable durch den angegebenen Wert und weist ihn zu ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;viertel /= 4;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| *= || Multipliziert die Variable mit dem angegebenen Wert und weist ihn zu ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;vierfach *= 4;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||%= || Ermittelt den Modulo einer Variablen und weist ihn der Variablen zu ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;restModulo11 %= 11;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;amp;= || &amp;quot;und&amp;quot;-Zuweisung ||&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt; maskiert &amp;amp;= bitmaske;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;= ||  &amp;quot;oder&amp;quot;-Zuweisung ||&lt;br /&gt;
|-&lt;br /&gt;
|| ^= || &amp;quot;exklusives oder&amp;quot;-Zuweisung || &lt;br /&gt;
|-&lt;br /&gt;
|| ^= ||  bitweise &amp;quot;exklusive oder&amp;quot;-Zuweisung ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;gt;&amp;gt;= || Rechtsverschiebungzuweisung || &lt;br /&gt;
|-&lt;br /&gt;
|| &amp;gt;&amp;gt;&amp;gt;= || Rechtsverschiebungzuweisung mit Auffüllung von Nullen ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;&amp;lt;= || Linksverschiebungzuweisung || &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;achtfach &amp;lt;&amp;lt;= 3;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bedingungsoperator ==&lt;br /&gt;
Den einzigen ternären Operator &amp;lt;code&amp;gt;?:&amp;lt;/code&amp;gt; stellen wir im [[Java_Standard:_Kontrollstrukturen#Bedingungsoperator | Kapitel Kontrollstrukturen]] vor.&lt;br /&gt;
&lt;br /&gt;
== Konkatenation ==&lt;br /&gt;
Zwei &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt;s lassen sich mit &amp;quot;+&amp;quot; aneinanderschreiben, so wie Sie es schon aus früheren &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;System.out.println(&amp;quot;Hallo&amp;quot; + &amp;quot; Welt&amp;quot; + &amp;quot;!&amp;quot;);&amp;lt;/syntaxhighlight&amp;gt;-Beispielen kennen.&lt;br /&gt;
&lt;br /&gt;
== Rangfolge von Operatoren ==&lt;br /&gt;
Die Rangfolge der Operatoren (engl. &amp;quot;&amp;#039;&amp;#039;operator precedence&amp;#039;&amp;#039;&amp;quot; oder auch &amp;quot;&amp;#039;&amp;#039;precedence rules&amp;#039;&amp;#039;&amp;quot;) bestimmt in der Regel&amp;lt;ref&amp;gt;siehe nächsten Abschnitt [[Java_Standard:_Operatoren#Fallen|Fallen]]&amp;lt;/ref&amp;gt;, in welcher Reihenfolge sie ausgewertet werden. Es geht darum, Klammern zu sparen. Weiß man, dass &amp;lt;code&amp;gt;&amp;amp;&amp;amp;&amp;lt;/code&amp;gt; einen höheren Rang als &amp;lt;code&amp;gt;||&amp;lt;/code&amp;gt; hat, dann wird der Ausdruck &amp;lt;code&amp;gt;(A &amp;amp;&amp;amp; B) || C&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;A &amp;amp;&amp;amp; B || C&amp;lt;/code&amp;gt;. Selbstverständlich &amp;#039;&amp;#039;darf&amp;#039;&amp;#039; man trotzdem Klammern setzen.&lt;br /&gt;
&lt;br /&gt;
Ganz allgemein gilt, dass Ausdrücke von links nach rechts ausgewertet werden. Das gilt nicht für Zuweisungsoperatoren.&lt;br /&gt;
&lt;br /&gt;
In der folgenden Tabelle&amp;lt;ref&amp;gt;Zum Teil entnommen von https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html&amp;lt;/ref&amp;gt; werden die Operatoren und ihre Ränge aufgeführt. Je weiter oben ein Operator in der Tabelle auftaucht, desto eher wird er ausgewertet. Operatoren mit dem gleichen Rang (in der gleichen Zeile) werden von links nach rechts ausgewertet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot; style=&amp;quot;text-align:left&amp;quot;&lt;br /&gt;
! Rangfolge&lt;br /&gt;
! Typ&lt;br /&gt;
! Operatoren&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width: 5%&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | Postfix-Operatoren, Postinkrement, Postdekrement || &amp;lt;code&amp;gt;x++&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;x--&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 2 || Einstellige (unäre) Operatoren, Vorzeichen  || &amp;lt;code&amp;gt;++x&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;--x&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;+x&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;~b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;!b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 3 || Multiplikation, Teilerrest || &amp;lt;code&amp;gt;a*b&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a/b&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a % b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 4 || Addition, Subtraktion || &amp;lt;code&amp;gt;a + b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a - b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 5 || Bitverschiebung || &amp;lt;code&amp;gt;d &amp;lt;&amp;lt; k&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;d &amp;gt;&amp;gt; k&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;d &amp;gt;&amp;gt;&amp;gt; k&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 6 || Vergleiche || &amp;lt;code&amp;gt;a &amp;lt; b&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a &amp;gt; b&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a &amp;lt;= b&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a &amp;gt;= b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;s instanceof S&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 7 || Gleich, Ungleich || &amp;lt;code&amp;gt;a == b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a != b&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|| 8 || UND (Bits) || &amp;lt;code&amp;gt;b &amp;amp; c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 9 || Exor (Bits) || &amp;lt;code&amp;gt;b ^ c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 10 || ODER (Bits) || &amp;lt;code&amp;gt;b &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 11 || Logisch UND || &amp;lt;code&amp;gt;B &amp;amp;&amp;amp; C&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 12 || Logisch ODER || &amp;lt;code&amp;gt;B &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 13 || Bedingungsoperator || &amp;lt;code&amp;gt;a ? b : c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| 14 || Zuweisungen || &amp;lt;code&amp;gt;a = b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a += 3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a -= 3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a *= 3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a /= 3&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;a %= 3&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;b &amp;amp;= c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b ^= c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;= c&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;d &amp;lt;&amp;lt;=k&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;d &amp;gt;&amp;gt;= k&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;d &amp;gt;&amp;gt;&amp;gt;= k&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fallen ==&lt;br /&gt;
Es gibt zum Glück wenig Fallstricke im Gebrauch von Operatoren. Postfix-Operatoren werden immer zuerst nach dem &amp;#039;&amp;#039;aktuellen&amp;#039;&amp;#039; Wert, den sie haben ausgewertet, erst dann erfolgt die Operation darauf.&lt;br /&gt;
&lt;br /&gt;
Nicht in allen Fällen kann man sich bei Beachtung der Rangfolge Klammern sparen. Versuchen Sie doch einmal, den Ausdruck &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;int x = ++y++;&amp;lt;/syntaxhighlight&amp;gt; auszuwerten (wobei &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt; vorher deklariert wurde). Trotz der klaren Vorrangregeln lässt sich dieser Ausdruck nicht kompilieren. Gut für alle, die einen solchen Quelltext lesen müssen...&lt;br /&gt;
&lt;br /&gt;
Für weitere schwer zu durchschauende Fallen siehe auch [[Strukturierte_Programmierung#Komplexe_Ausdrücke|Strukturierte Programmierung / Komplexe Ausdrücke]].&lt;br /&gt;
&lt;br /&gt;
== Rechengenauigkeit ==&lt;br /&gt;
Beim Rechnen mit zwei Datentypen unterschiedlicher Genauigkeit (z.B. &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;long&amp;lt;/code&amp;gt;) muss beachtet werden, dass als Ergebnis der &amp;quot;genaue&amp;quot; Datentyp berechnet wird.&lt;br /&gt;
 long = int + long;&lt;br /&gt;
Wird nur ein &amp;quot;ungenauerer&amp;quot; Wert benötigt, so muss das dem Compiler mitgeteilt werden (&amp;lt;code&amp;gt;&amp;#039;&amp;#039;cast&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;).&lt;br /&gt;
 int = (int) (int + long);&lt;br /&gt;
Die Genauigkeit ist hier durch den Zahl gegeben. Ein Datentyp &amp;#039;&amp;#039;&amp;#039;int&amp;#039;&amp;#039;&amp;#039; kann eine 32-Bit-Ganzzahl darstellen, während der Typ &amp;#039;&amp;#039;&amp;#039;long&amp;#039;&amp;#039;&amp;#039; 64-Bit-Ganzzahlen aufnehmen kann (= 8 Byte). Deshalb &amp;quot;passt&amp;quot; ein int-Wert problemlos in einen long-Wert. Umgekehrt kann es da schon passieren, dass der long-Wert größer als der größtmögliche int-Wert ausfällt!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Navigation_zurückhochvor_buch|&lt;br /&gt;
zurücktext=Variablen und Bezeichner|&lt;br /&gt;
zurücklink=Java Standard: Variablen und Bezeichner|&lt;br /&gt;
hochtext=Java Inhaltsverzeichnis|&lt;br /&gt;
hochlink=Java Standard|&lt;br /&gt;
vortext=Kontrollstrukturen|&lt;br /&gt;
vorlink=Java Standard: Kontrollstrukturen}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>