Sie sind auf Seite 1von 14

KAPITEL 3

GRUNDLAGEN DER INFORMATIK

AUSDRCKE UND OPERATIONEN

AUSDRCKE
Ausdrcke sind der Grundbaustein von Java. Der Rechner wertet einen Ausdruck aus.
Dabei wird ein Wert mit einem bestimmten Datentypen berechnet.

LITERALE, NUMERALE
UND BEZEICHNER
Zeichenkette (Datentyp String)
1
2
3
4

GanzeInformatik"
Zahl (Datentyp int)
"Grundlagen der
Fliekommazahl (Datentyp double)
420
7.5 Variablenname (Datentyp der Variable)
myVar //Falls vorher als Variable deklariert

Literale (Zeile 1 und 4) und Numerale (Zeile 2 und 3) sind die einfachste Form eines
Ausdrucks.
1) Zeichenkettenliteral: Text, der von Java unverndert verwendet (z.B.
angezeigt) werden soll
2) Ganzzahlnumeral: Ein ganzzahliger Wert
3) Fliekommanumeral: Eine Zahl mit Nachkommastellen
4) Variablenname: Falls eine Variable mit dem Bezeichner existiert, wird der
Ausdruck zu deren Wert und Datentypen ausgewertet

AUSDRCKE
1 public class Literal{
2
public static void main(String[] args){
3
System.out.println("Grundlagen der Informatik");
4
System.out.println(420);
5
System.out.println(7.5);
6
7
int myVar = 23;
8
System.out.println(myVar);
9
}
10 }

>
>
>
>

Grundlagen der Informatik


420
7.5
23

AUSDRCKE - OPERATIONEN
Mit Operationen knnen Ausdrcke verknpft werden. Einige Beispiele sind...
1 public class BasicOps {
2
public static void main(String[] args){
3
int x;
4
x = 13;
5
Zuweisungsoperation
6
int y;
7
y = x;
arithmetische Operation
8
9
x = x + 29;
10
System.out.println("x = " + x + ", y = " + y);
11
}
Zeichenkettenoperation
12 }

Addition: Lies den Wert der Variablen x (hier 13) und addiere 29
Zuweisung: Schreibe den Wert rechts (hier 13) in die Variable links (hier x )
Verknpfung: Lies den Wert der Variablen y , wandle diesen in eine Zeichenkette
um und verknpfe diese mit der Zeichenkette ", y = " .

OPERATIONEN - ZUWEISUNG
Eine 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.
1 public static void main(String[] args){
2
int x;
3
x = 23;
4
5
int y;
6
y = x;
7
x = 42;
8
9
System.out.println(x + " " + y);
10 }

> 42 23

OPERATIONEN - ARITHMETIK
Operationen knnen ein, zwei oder dreistellig sein. Beispiel zweistellig:
<Ausdruck> <Operator> <Ausdruck>
In Java gibt es die folgenden arithmetischen Operatoren:
Grundrechenarten: Addition ( + ), Subtraktion ( - ), Multiplikation ( * ), Division ( / )
Vorzeichen: + oder Klammern: ( und )
Modulo: % , entspricht dem Rest der Ganzzahligen Division
1
2
3
4

11 % 4
-4
3 * 3
7 / 3

//Rest: 3
//Negatives Vorzeichen: -4
//Produkt: 9
//Ganzzahlige Division: 2

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht bersetzt werden.

VERSCHACHTELTE AUSDRCKE
Ausdrcke knnen verkettet und verschachtelt werden.
BEISPIELE
Verschachteln von Variablenzugriff und Multiplikation:
int a = 2;
4 * a

//

4 * 2

Verschachteln verschiedener Operationen:


int a = 2;
((3 + 2) * 5) % (4 - a)

//
//
//
//
//
//

((5)
(5 *
(25)
25 %
25 %
25 %

* 5)
5) %
% (4
(4 (4 (2)

//

9 - 5

Verketten von zwei Operationen:


6 + 3 - 5

% (4 - a)
(4 - a)
- a)
a)
2)
25 % 2

PRIORITTEN
Was wird von folgendem verketteten Ausdruck berechnet?
7 * 2 + 3

MGLICHE LESARTEN
(7 * 2) + 3
14 + 3
17

7 * (2 + 3)
7 * 5
35

TESTLAUF
System.out.println(7 * 2 + 3);

> 17

ERGEBNIS
Verkettete Operationen werden nach Prioritten geordnet ausgewertet
(siehe Java Documentation).

OPERATORASSOZIATIVITT
Die Prioritten von * und / sind identisch. Was wird nun berechnet?
10 * 7 / 2

MGLICHE LESARTEN
(10 * 7) / 2
70 / 2
35

10 * (7 / 2)
10 * 3
30

TESTLAUF
System.out.println(10 * 7 / 2);

> 35

ERGEBNIS
Verkettete Ausdrcke gleicher Prioritt werden (in Java) von links nach rechts
ausgewertet. Java ist damit linksassoziativ.

OPERATIONEN - VERGLEICHE
Operationen knnen Werte vergleichen. Das Ergebnis ist ein Wahrheitswert, also true
fr wahr oder false fr falsch ( Kapitel 4).

In Java gibt es die folgenden Vergleichsoperatoren:


Gleich ( == ), Ungleich ( != )
Echt kleiner ( < ), echt grer ( > ), kleiner oder gleich ( <= ), grer oder gleich ( >= )
1
2
3
4
5

5 ==
9 !=
15 >
3 <=
5 ==

7
3
8
-9
7 == false

//
//
//
//
//

false
true
true
false
false == false

true

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht bersetzt werden.

OPERATIONEN - LOGIK
Wahrheitswerte knnen mit Hilfe von Operatoren verknpft werden.
In Java gibt es die folgenden logischen Operatoren:
Und ( && )
Oder ( || )
Negation ( ! )
BEISPIELE
1
2
3
4
5
6
7
8

true && false


true && true
false && false
true || false
true || true
false || false
!false
!true

//
//
//
//
//
//
//
//

false
true
false
true
true
false
true
false

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht bersetzt werden.

SPEZIELLE OPERATOREN
In Java gibt es noch einige spezielle Operatoren
INKREMENT/DEKREMENT
Das Inkrement ++ (Dekrement -- ) erhht (verringert) den Wert einer Variablen um 1.
ZUWEISUNGEN
Verkrzte Zuweisungen (z.B. += , -= , *= , /= , %= , &= , |= ) erlauben es, den Wert einer
Variablen direkt zu verndern.
1
2
3
4
5
6

int a = 5;
a *= 2;
System.out.println(a);
int b = a++ + ++a;
System.out.println("b:" + b + ", a:" + a);

> 10
> b:22, a:12

SANDKASTEN
Schreiben 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 3

GRUNDLAGEN DER INFORMATIK

AUSDRCKE UND OPERATIONEN

2015 by F. Bauer (Computer Graphics Group Erlangen)


Der Foliensatz wurde vom Lehrstuhl fr Graphische Datenverarbeitung an der Friedrich-Alexander-Universitt Erlangen-Nrnberg
erstellt und unter der Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International lizenziert. Die
enthaltenen Grafiken und Bilder sind Ausdrcklich von der Lizenzierung ausgeschlossen und drfen nicht als eigenstndige Werke oder in anderen
Werken verwendet werden.
Herzlichen Dank fr die tatkrftige Hilfe beim Erstellen der Folien geht ganz besonders an Vanessa Lange, Gerold Mittelstdt und Lukas Schmidt.