Upload
steffen
View
238
Download
0
Embed Size (px)
DESCRIPTION
Java Operationen
KAPITEL 3GRUNDLAGEN DER INFORMATIK
AUSDRÜCKE UND OPERATIONEN
AUSDRÜCKEAusdrücke sind der Grundbaustein von Java. Der Rechner wertet einen Ausdruck aus.Dabei wird ein Wert mit einem bestimmten Datentypen berechnet.
LITERALE, NUMERALE UND BEZEICHNER
"Grundlagen der Informatik"420 7.5 myVar //Falls vorher als Variable deklariert
1234
Zeichenkette (Datentyp String)Ganze Zahl (Datentyp int)
Fließkommazahl (Datentyp double)Variablenname (Datentyp der Variable)
Literale (Zeile 1 und 4) und Numerale (Zeile 2 und 3) sind die einfachste Form einesAusdrucks.
1) Zeichenkettenliteral: Text, der von Java unverändert verwendet (z.B.angezeigt) werden soll2) Ganzzahlnumeral: Ein ganzzahliger Wert3) Fließkommanumeral: Eine Zahl mit Nachkommastellen4) Variablenname: Falls eine Variable mit dem Bezeichner existiert, wird derAusdruck zu deren Wert und Datentypen ausgewertet
AUSDRÜCKEpublic class Literal{ public static void main(String[] args){ System.out.println("Grundlagen der Informatik"); System.out.println(420); System.out.println(7.5); int myVar = 23; System.out.println(myVar); }}
12345678910
> Grundlagen der Informatik> 420 > 7.5> 23
AUSDRÜCKE - OPERATIONENMit Operationen können Ausdrücke verknüpft werden. Einige Beispiele sind...
public class BasicOps {
public static void main(String[] args){
int x;
x = 13;
int y;
y = x;
x = x + 29;
System.out.println("x = " + x + ", y = " + y);
}
}
123456789101112
arithmetische Operation
Zuweisungsoperation
Zeichenkettenoperation
Addition: Lies den Wert der Variablen x (hier 13) und addiere 29Zuweisung: Schreibe den Wert rechts (hier 13) in die Variable links (hier x )
Verknüpfung: Lies den Wert der Variablen y , wandle diesen in eine Zeichenkette
um und verknüpfe diese mit der Zeichenkette ", y = " .
OPERATIONEN - ZUWEISUNGEine Zuweisung ändert den Inhalt (oder Wert) einer Variablen. (➜ Kapitel 2)
<Bezeichner> = <Ausdruck>;
Links vom = steht immer der Bezeichner einer Variablen, rechts davon ein Ausdruck,der zu einem kompatiblen Datentyp ausgewertet wird. Der berechnete/ausgewertete
Wert wird durch die Zuweisung in die Variable auf der linken Seite kopiert.
public static void main(String[] args){ int x; x = 23; int y; y = x; x = 42; System.out.println(x + " " + y); }
12345678910
> 42 23
OPERATIONEN - ARITHMETIKOperationen können ein, zwei oder dreistellig sein. Beispiel zweistellig:
In Java gibt es die folgenden arithmetischen Operatoren:
<Ausdruck> <Operator> <Ausdruck>
Grundrechenarten: Addition (+ ), Subtraktion (- ), Multiplikation (* ), Division (/ )
Vorzeichen: + oder -Klammern: ( und )Modulo: % , entspricht dem Rest der Ganzzahligen Division
11 % 4 //Rest: 3-4 //Negatives Vorzeichen: -43 * 3 //Produkt: 97 / 3 //Ganzzahlige Division: 2
1234
Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.
VERSCHACHTELTE AUSDRÜCKEAusdrücke können verkettet und verschachtelt werden.
BEISPIELE
Verschachteln von Variablenzugriff und Multiplikation:
int a = 2;4 * a // 4 * 2 8
Verschachteln verschiedener Operationen:
int a = 2;((3 + 2) * 5) % (4 - a) // ((5) * 5) % (4 - a) // (5 * 5) % (4 - a) // (25) % (4 - a) // 25 % (4 - a) // 25 % (4 - 2) // 25 % (2) 25 % 2 1
Verketten von zwei Operationen:
6 + 3 - 5 // 9 - 5 4
PRIORITÄTENWas wird von folgendem verketteten Ausdruck berechnet?
7 * 2 + 3
MÖGLICHE LESARTEN(7 * 2) + 3
14 + 317
7 * (2 + 3)7 * 535
TESTLAUFSystem.out.println(7 * 2 + 3);
> 17
ERGEBNISVerkettete Operationen werden nach Prioritäten geordnet ausgewertet
(siehe ).Java Documentation
OPERATORASSOZIATIVITÄTDie Prioritäten von * und / sind identisch. Was wird nun berechnet?
10 * 7 / 2
MÖGLICHE LESARTEN(10 * 7) / 2
70 / 235
10 * (7 / 2)10 * 330
TESTLAUFSystem.out.println(10 * 7 / 2);
> 35
ERGEBNISVerkettete Ausdrücke gleicher Priorität werden (in Java) von links nach rechtsausgewertet. Java ist damit linksassoziativ.
OPERATIONEN - VERGLEICHEOperationen können Werte vergleichen. Das Ergebnis ist ein Wahrheitswert, also truefür wahr oder false für falsch .(➜ Kapitel 4)
In Java gibt es die folgenden Vergleichsoperatoren:
Gleich (== ), Ungleich (!= )
Echt kleiner (< ), echt größer (> ), kleiner oder gleich (<= ), größer oder gleich (>= )
5 == 7 // false9 != 3 // true15 > 8 // true3 <= -9 // false5 == 7 == false // false == false true
12345
Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.
OPERATIONEN - LOGIKWahrheitswerte können mit Hilfe von Operatoren verknüpft werden.
In Java gibt es die folgenden logischen Operatoren:Und (&& )Oder (|| )Negation (! )
BEISPIELE
true && false // falsetrue && true // truefalse && false // falsetrue || false // truetrue || true // truefalse || false // false!false // true!true // false
12345678
Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.
SPEZIELLE OPERATORENIn Java gibt es noch einige spezielle Operatoren
INKREMENT/DEKREMENT
Das Inkrement ++ (Dekrement -- ) erhöht (verringert) den Wert einer Variablen um 1.
ZUWEISUNGEN
Verkürzte Zuweisungen (z.B. += , -= , *= , /= , %= , &= , |= ) erlauben es, den Wert einer
Variablen direkt zu verändern.
int a = 5;a *= 2;System.out.println(a);
int b = a++ + ++a;System.out.println("b:" + b + ", a:" + a);
123456
> 10> b:22, a:12
SANDKASTENSchreiben Sie ein Program, das die Summe von 7 und 25 berechnet und in einer
Variablen a speichert. Multiplizieren Sie den Inhalt von a mit 3 und legen Sie den Wert
in einer Variablen z ab.
Legen Sie eine Variable ergebnis an. Wenn der Wert in z gerade ist, soll diese mit dem
Wert 42 initialisiert werden, ansonsten soll sie 2 enthalten (Verwenden Sie nur
Zuweisungen und arithmetische Operationen!).
Geben Sie zuletzt den Inhalt der drei Variablen (durch Leerzeichen getrennt) aus.
public class MeineOperatoren {
public static void main(String[] args){
}
}
KAPITEL 3GRUNDLAGEN DER INFORMATIK
AUSDRÜCKE UND OPERATIONEN
© 2015 by F. Bauer (Computer Graphics Group Erlangen)
Der Foliensatz wurde vom an der Friedrich-Alexander-Universität Erlangen-Nürnberg
erstellt und unter der lizenziert. Die
enthaltenen Grafiken und Bilder sind Ausdrücklich von der Lizenzierung ausgeschlossen und dürfen nicht als eigenständige Werke oder in anderen
Werken verwendet werden.
Lehrstuhl für Graphische Datenverarbeitung
Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International
Herzlichen Dank für die tatkräftige Hilfe beim Erstellen der Folien geht ganz besonders an Vanessa Lange, Gerold Mittelstädt und Lukas Schmidt.