From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001
From: Sven Eisenhauer
Date: Fri, 10 Nov 2023 15:11:48 +0100
Subject: add new repo
---
.../hjp5/html/k100038.html | 540 +++++++++++++++++++++
1 file changed, 540 insertions(+)
create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100038.html
(limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100038.html')
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100038.html b/Master/Reference Architectures and Patterns/hjp5/html/k100038.html
new file mode 100644
index 0000000..6345f2c
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100038.html
@@ -0,0 +1,540 @@
+
+
+
+Handbuch der Java-Programmierung, 5. Auflage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Tabelle 5.6 listet
+alle Operatoren in der Reihenfolge ihrer Vorrangregeln auf. Weiter
+oben stehende Operatoren haben dabei Vorrang vor weiter unten stehenden
+Operatoren. Innerhalb derselben Gruppe stehende Operatoren werden
+entsprechend ihrer Assoziativität ausgewertet.
+
+
+Die Spalte Typisierung gibt die möglichen Operandentypen
+an. Dabei steht »N« für numerische, »I« für
+integrale (also ganzzahlig numerische), »L« für logische,
+»S« für String-, »R« für Referenz- und
+»P« für primitive Typen. Ein »A« wird verwendet,
+wenn alle Typen in Frage kommen, und mit einem »V« wird
+angezeigt, dass eine Variable erforderlich ist.
+
+
+
+
+
+| Gruppe |
+Operator |
+Typisierung |
+Assoziativität |
+Bezeichnung |
+
+| 1 |
+++ |
+N |
+R |
+Inkrement |
+
+
+
+ |
+-- |
+N |
+R |
+Dekrement |
+
+
+
+ |
++ |
+N |
+R |
+Unäres Plus |
+
+
+
+ |
+- |
+N |
+R |
+Unäres Minus |
+
+
+
+ |
+~ |
+I |
+R |
+Einerkomplement |
+
+
+
+ |
+! |
+L |
+R |
+Logisches NICHT |
+
+
+
+ |
+(type) |
+A |
+R |
+Type-Cast |
+
+| 2 |
+* |
+N,N |
+L |
+Multiplikation |
+
+
+
+ |
+/ |
+N,N |
+L |
+Division |
+
+
+
+ |
+% |
+N,N |
+L |
+Modulo |
+
+| 3 |
++ |
+N,N |
+L |
+Addition |
+
+
+
+ |
+- |
+N,N |
+L |
+Subtraktion |
+
+
+
+ |
++ |
+S,A |
+L |
+String-Verkettung |
+
+| 4 |
+<< |
+I,I |
+L |
+Linksschieben |
+
+
+
+ |
+>> |
+I,I |
+L |
+Rechtsschieben |
+
+
+
+ |
+>>> |
+I,I |
+L |
+Rechtsschieben mit Nullexpansion |
+
+| 5 |
+< |
+N,N |
+L |
+Kleiner |
+
+
+
+ |
+<= |
+N,N |
+L |
+Kleiner gleich |
+
+
+
+ |
+> |
+N,N |
+L |
+Größer |
+
+
+
+ |
+>= |
+N,N |
+L |
+Größer gleich |
+
+
+
+ |
+instanceof |
+R,R |
+L |
+Klassenzugehörigkeit |
+
+| 6 |
+== |
+P,P |
+L |
+Gleich |
+
+
+
+ |
+!= |
+P,P |
+L |
+Ungleich |
+
+
+
+ |
+== |
+R,R |
+L |
+Referenzgleichheit |
+
+
+
+ |
+!= |
+R,R |
+L |
+Referenzungleichheit |
+
+| 7 |
+& |
+I,I |
+L |
+Bitweises UND |
+
+
+
+ |
+& |
+L,L |
+L |
+Logisches UND mit vollständiger Auswertung
+ |
+
+| 8 |
+^ |
+I,I |
+L |
+Bitweises Exklusiv-ODER |
+
+
+
+ |
+^ |
+L,L |
+L |
+Logisches Exklusiv-ODER |
+
+| 9 |
+| |
+I,I |
+L |
+Bitweises ODER |
+
+
+
+ |
+| |
+L,L |
+L |
+Logisches ODER mit vollständiger Auswertung
+ |
+
+| 10 |
+&& |
+L,L |
+L |
+Logisches UND mit Short-Circuit-Evaluation
+ |
+
+| 11 |
+|| |
+L,L |
+L |
+Logisches ODER mit Short-Circuit-Evaluation
+ |
+
+| 12 |
+?: |
+L,A,A |
+R |
+Bedingte Auswertung |
+
+| 13 |
+= |
+V,A |
+R |
+Zuweisung |
+
+
+
+ |
++= |
+V,N |
+R |
+Additionszuweisung |
+
+
+
+ |
+-= |
+V,N |
+R |
+Subtraktionszuweisung |
+
+
+
+ |
+*= |
+V,N |
+R |
+Multiplikationszuweisung |
+
+
+
+ |
+/= |
+V,N |
+R |
+Divisionszuweisung |
+
+
+
+ |
+%= |
+V,N |
+R |
+Restwertzuweisung |
+
+
+
+ |
+&= |
+N,N u. L,L |
+R |
+Bitweises-UND-Zuweisung und Logisches-UND-Zuweisung
+ |
+
+
+
+ |
+|= |
+N,N u. L,L |
+R |
+Bitweises-ODER-Zuweisung und Logisches-ODER-Zuweisung
+ |
+
+
+
+ |
+^= |
+N,N u. L,L |
+R |
+Bitweises-Exklusiv-ODER-Zuweisung und Logisches-Exklusiv-ODER-Zuweisung
+ |
+
+
+
+ |
+<<= |
+V,I |
+R |
+Linksschiebezuweisung |
+
+
+
+ |
+>>= |
+V,I |
+R |
+Rechtsschiebezuweisung |
+
+
+
+ |
+>>>= |
+V,I |
+R |
+Rechtsschiebezuweisung mit Nullexpansion
+ |
+
+
+Tabelle 5.6: Operator-Vorrangregeln
+
+
+
+
+
+
+
+
+
+
+001 /* Listing0508.java */
+002
+003 public class Listing0508
+004 {
+005 public static void main(String[] args)
+006 {
+007 int i = 55;
+008 int j = 97;
+009 if (i & 15 < j & 15) {
+010 System.out.println("LowByte(55) < LowByte(97)");
+011 } else {
+012 System.out.println("LowByte(55) >= LowByte(97)");
+013 }
+014 }
+015 }
+
+ |
+
+
+
+Listing 5.8: Bindungsprobleme bei den bitweisen Operatoren
+
+
+Bei der Verwendung der bitweisen Operatoren sind also zusätzliche
+Klammern erforderlich. Die korrekte Version des Programms zeigt Listing 5.9
+(verbessert wurde Zeile 009):
+
+
+
+
+
+
+
+
+001 /* Listing0509.java */
+002
+003 public class Listing0509
+004 {
+005 public static void main(String[] args)
+006 {
+007 int i = 55;
+008 int j = 97;
+009 if ((i & 15) < (j & 15)) {
+010 System.out.println("LowByte(55) < LowByte(97)");
+011 } else {
+012 System.out.println("LowByte(55) >= LowByte(97)");
+013 }
+014 }
+015 }
+
+ |
+
+Listing0509.java |
+
+
+
+Listing 5.9: Korrekte Klammerung von bitweisen Operatoren
+
+
+Die Ausgabe des Programms ist nun erwartungsgemäß:
+
+
+LowByte(55) >= LowByte(97)
+
+
+
+
+
+
+
--
cgit v1.2.3