Name Klasse Datum 1 Allgemeines Geben Sie an, was die Operation, die und die Operanden sind. Ergänzen Sie nun die folgenden Tabellen. Gehen Sie davon aus, dass die einzelnen Beispiele sequenziell abgearbeitet werden. Validieren Sie anschließend Ihre Einschätzungen am Computer. 1.1 Arithmetische (nicht verändernd) + 13+4-13-4 * 13*4 / 13/4 % 13%4 Addition beide Operanden werden addiert. Subtraktion beide Operanden werden subtrahiert. Multiplikation beide Operanden werden multipliziert. Division beide Operanden werden dividiert (bei int nur ganze Zahlen!) Modulo beide Operanden werden dividiert und der Restbetrag wird ermittelt (nur bei int sinnvoll) 1.2 Arithmetische (verändernd) Operator: Beispiel: ++ -- a++ ++a a-- --a Post-Inkrement Operator: der Variableninhalt wird verwendet und anschließend um den Wert 1 erhöht. Pre-Inkrement Operator: der Variableninhalt wird um den Wert 1 erhöht und anschließend verwendet. Post-Dekrement Operator: der Variableninhalt wird verwendet und anschließend um den Wert 1 verringert. Pre-Dekrement Operator: der Variableninhalt wird um den Wert 1 verringert und anschließend verwendet. int a = 2; v02.docx Seite 1
System.out.println(a++); System.out.println(++a); System.out.println(a--); System.out.println(--a); 1.3 Relationale == 4==3!= > 4>3 < 4<3 >= 4>=3 <= 4<=3 1.4 Logische Gleichheitsprüfung die beiden werden auf Gleichheit geprüft. 4!=3 Ungleichheitsprüfung beide Operanden werden auf Ungleichheit geprüft. Größerprüfung Prüfung, ob linker Operand größer ist als rechter Operand. Kleinerprüfung Prüfung, ob linker Operand kleiner ist als rechter Operand. Größergleich-Prüfung Prüfung, ob linker Operand größer oder gleich ist als rechter. Kleinergleich-Prüfung Prüfung, ob linker Operand kleiner oder gleich ist als rechter. && true && false Logische UND Verknüpfung mit Abbruch bei erstem false. & true & false true false true false!!true ^ true ^ true Logische UND Verknüpfung ohne Abbruch bei erstem false. Logische ODER Verknüpfung mit Abbruch bei erstem true. Logische ODER Verknüpfung ohne Abbruch bei erstem true. Negation der Logische Wert wird negiert, also aus true wird false und umgekehrt. Logisches XOR also Verhalten wie ODER, nur bei true ^ true erhält man false. Seite 2
int a = 10, b = 3; if ((a < 1) && (++b < 3)) if ((a < 1) & (++b < 3)) if ((a > 1) (++b < 3)) if ((a > 1) (++b < 3)) 1.5 Bitweise Hier sind die Zahlen in Binärformat angegeben. Für Java müssen Sie zuerst die Zahl in ein Dezimalformat (alternativ Hexzahl) umwandeln. & ^ 1100b & 1100b 1100b ^ ~ ~10 << 1100b << 1 >> 1100b >> 1 Bitweise UND Verknüpfung der beiden Operanden auf Binärebene. Bitweise ODER Verknüpfung der beiden Operanden auf Binärebene. Bitweise XOR Verknüpfung der beiden Operanden auf Binärebene. Bitweise Negation des Operanden (Achtung die führenden Nullen werden aufgefüllt bei int sind das 32). Bitshift links die Bits des linken Operanden werden um die Anzahl des rechten geshifted. Bitshift rechts die Bits d. linken Operanden werden um die Anzahl des rechten geshifted. 1.6 Bedingungsoperator? : true?1:2 System.out.println(true?1:2); System.out.println(false?1:2); Je nach true/false des ersten Operanden wird der zweite bzw. dritte Operand ausgegeben. Seite 3
1.7 Zuweisungsoperatoren (arithmetisch): Operator: Beispiel: Inhalt a: = a = 2; += a += 3; -= a -= 2; *= a *= 5; /= a /= 2; %= a %= 4; 1.8 Zuweisungsoperatoren (logisch): Operator: Beispiel: Inhalt b: = b = true; &= b &= false; = b = true; Erhöhung des linken Operanden um den Wert des rechten Reduktion des linken Operanden um den Wert des rechten Multiplikation der Operanden und ablegen des Ergebnisses in den linken Division der Operanden und ablegen des Ergebnisses in den linken Modulo der Operanden und ablegen des Ergebnisses in den linken UND Verknüpfung der Operanden und ablegen des Ergebnisses in linken ODER Verknüpfung der Operanden und ablegen des Erg. in linken 1.9 Zuweisungsoperatoren (bitweise): Hier sind die Zahlen in Binärformat angegeben. Für Java müssen Sie zuerst die Zahl in ein Dezimalformat (alternativ Hexzahl) umwandeln. Operator: Beispiel: Inhalt c: = c = 100b; >>= c >>= 1; Zuweisung mit Rechtsshift. = c = 100b; <<= c << =1 Zuweisung mit Linksshift. Seite 4
2 Lizenz Diese(s) Werk bzw. Inhalt von Maik Aicher (www.codeconcert.de) steht unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz. Seite 5