Operator: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
(Beispiele)
(Beispiele)
Zeile 82: Zeile 82:
 
<source lang="java" >
 
<source lang="java" >
 
  int a = 7;
 
  int a = 7;
  boolean c = (a>2&&(a-3)!=4)||(a==9|| a>=5);
+
  boolean c = (a>2 && (a-3)!=4)||(a==9 || a>=5);
 
  boolean d = a+b>4 && a==5;
 
  boolean d = a+b>4 && a==5;
 
  System.out.println("c: "+c + "d: "+d);
 
  System.out.println("c: "+c + "d: "+d);

Version vom 19. Juni 2016, 19:52 Uhr

Ein Operator kann auf Werte angewendet werden, um diese zu kombinieren oder manipulieren. So ist z.B. + ein zweistelliger Operator und addiert zwei numerische Werte miteinander oder konkateniert einen String an einen anderen.

Erlaubte Operatoren

Auf jeden primitiven Datentyp sind in Java unterschiedliche Operatoren erlaubt.

Datentyp Operator Funktion
boolean && UND-Verknüpfung zwischen linkem und rechtem Operanden
|| ODER-Verknüpfung zwischen linkem und rechtem Operanden
== Vergleich auf Gleichheit mit einem anderen boolean
 ! Negation des Operanden rechts vom !
byte, char, short, int, long + Addition von linkem mit rechtem Operanden
- Subtraktion von linkem mit rechtem Operand
* Multiplikation von linkem mit rechtem Operanden
/ Division von linkem mit rechtem Operanden
 % Modulo Operation (Division mit Rest) von linkem mit rechtem Operanden
++ Inkrement der Variablen links vom Operator um 1
-- Dekrement der Variablen links vom Operator um 1
== Vergleich des linken und rechten Operanden miteinander auf Gleichheit
 != Vergleich des linken und rechten Operanden miteinander auf Ungleichheit
< Vergleich ob der linke Operand kleiner ist als der rechte Operand
> Vergleich ob der linke Operand größer ist als der rechte Operand
<= Vergleich ob der linke Operand kleiner oder gleich dem rechten Operanden ist
>= Vergleich ob der linke Operand größer oder gleich dem rechten Operanden ist

Beispiele

Beispiel 1

 int a = 5;
 int b = 7;
 boolean c = a<2;
 boolean d = a+b>4 && a==5;
 boolean e = a-b>4 && a==5;
 System.out.println("c: "+c+"d: "+d + "e: "+e);

Ausgabe

c: false d: true e: false 

Beispiel 2

 int a = 7;
 boolean c = (a>2 && (a-3)!=4)||(a==9 || a>=5);
 boolean d = a+b>4 && a==5;
 System.out.println("c: "+c + "d: "+d);

Ausgabe

c: true d: true

Priotitäten

Die Prioritäten von Operatoren bestimmen, in welcher Reihenfolge sie ausgeführt werden. Je kleiner der Rang, desto höher die Priorität der Ausführung. Die Auswertung von geklammerten Ausdrücken hat dabei, wie in mathematischen Formeln, die höchste Priorität.

Operator Rang Typ Beschreibung
++, -- 1 arithmetisch Inkrement und Dekrement
+, - 1 arithmetisch unäres Plus
 ! 1 [ boolean] logisches Komplement
(Typ) 1 jeder Cast
*, /, % 2 arithmetisch multiplikative Operationen ("Punktrechnung")
+, - 3 arithmetisch additive Operationen ("Strichrechnung")
+ 3 String String-Konkatenation
<, <=, >, >= 5 arithmetisch numerische Vergleiche
==, != 6 primitiv Gleichheit/Ungleichheit von Werten
& 7 [ boolean] logisches Und
^ 8 [ boolean] logisches exklusives Oder
| 9 [ boolean] logisches Oder
&& 10 [ boolean] logisches konditionales Und
|| 11 [ boolean] logisches konditionales Oder
= 13 jeder Zuweisung
+=, -=, *=, /= 14 jeder Zuweisung mit Operation

Quelle: http://openbook.rheinwerk-verlag.de/javainsel/javainsel_02_004.html#dodtp44c70ec5-17d6-4493-bac6-218399d01cf8