Ausdrücke - Katholische Universität Eichstätt

Werbung
Modulüberblick
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
5.1 Eigenschaften von Ausdrücken
5.2 „Klassische“ Operationen
5.3 Sonstige Operatoren und Regeln
5.4 Verzweigungen
5.5 Schleifen
5.6 Sprunganweisungen
6
Objektorientierte Programmierung
7
Übungsaufgaben
Ausdrücke
Ausdrücke und Anweisungen
in Java
und Anweisungen in Java
Sonstige Operatoren und Regeln
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Fragezeichenoperator:

Der Fragezeichenoperator ist der einzige Operator in Java, der drei
Operanden verarbeitet.

Er erwartet einen logischen Ausdruck und zwei weitere Ausdrücke, die
entweder beide numerisch, von einem Referenztyp oder vom Typ boolean
sind.

Ist der Wert des logischen Ausdrucks wahr, wird der erste Operand
ausgewertet, ansonsten der zweite.

Das Ergebnis des Ausdrucks a ? b : c ist also b, falls a wahr ist,
ansonsten c.
144
Ausdrücke und Anweisungen in Java
145
Sonstige Operatoren und Regeln
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausgewählte Operatoren für Objekte:

Der + Operator kann nicht nur mit numerischen Operanden verwendet
werden, sondern auch zur Verkettung von Strings (String-Verkettung).

Ist mindestens einer der Operanden in a + b ein String, so wird der gesamte
Ausdruck als String-Verkettung ausgeführt.

Als Ergebnis der Operation wird ein String geliefert, in dem beide Operanden
hintereinander stehen.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Sonstige Operatoren und Regeln
Ausgewählte Operatoren für Objekte:
146
Ausdrücke und Anweisungen in Java
Sonstige Operatoren und Regeln
Ausgewählte Operatoren für Objekte:

Soll eine inhaltliche Gleichheit getestet werden, kann auf die Methode
boolean equals (Object obj)
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
zurückgegriffen werden.
147
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Sonstige Operatoren und Regeln
Ausgewählte Operatoren für Objekte:
148
Ausdrücke und Anweisungen in Java
149
Sonstige Operatoren und Regeln
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausgewählte Operatoren für Objekte:

In Java werden Objekte mit Hilfe des new-Operators erzeugt.

Der instanceof-Operator kann verwendet werden, um herauszufinden, zu
welcher Klasse eine bestimmtes Objekt gehört.

Der Ausdruck a instanceof b liefert genau dann true, wenn a eine
Instanz der Klasse b oder einer ihrer Unterklassen ist.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Sonstige Operatoren und Regeln
Ausgewählte Operatoren für Objekte:
150
Ausdrücke und Anweisungen in Java
151
Sonstige Operatoren und Regeln
Operatorvorgangsregeln:
Priorität
Operatoren
Typisierung
Assoziativität
Bezeichnung
Priorität 1
[]
A
L
Arrayindex
()
A
L
Methodenaufruf
.
A
L
Komponentenzugriff
++
N
R
Prä- oder Postinkrement
--
N
R
Prä- oder Postdekrement
+ -
N
R
Vorzeichen
!
L
R
logische Negation
(type)
A
R
Typ-Umwandlung
new
R
R
Erzeugung
Priorität 3
* / %
N, N
L
Multiplikation, Division, Rest
Priorität 4
+ -
N, N
L
Addition, Subtraktion
+
S, A
L
String-Verkettung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Priorität 2
Typisierung (Operandentypen):
N = Numerische Typen
I = Integrale Typen (ganzzahlige)
L = Logische Typen
S = String-Typen
Typisierung (Operandentypen):
R = Referenztypen
P = Primitive Typen
A = Alle Typen möglich
V = Variable erforderlich
Assoziativität:
L = Links
R = Rechts
Ausdrücke und Anweisungen in Java
152
Sonstige Operatoren und Regeln
Operatorvorgangsregeln:
Priorität
Operatoren
Typisierung
Assoziativität
Bezeichnung
Priorität 6
< <=
N, N
L
Vergleich kleiner, kleiner gleich
> >=
N, N
L
Vergleich größer. größer gleich
Instanceof
R, R
L
Typüberprüfung eines Objekts
==
P, P oder R, R
L
Gleichheit
!=
P, P oder R, R
L
Ungleichheit
Priorität 8
&
L, L
L
logisches Und (vollst. Auswertung)
Priorität 9
^
L, L
L
boolesches Exklusives Oder
Priorität 10
|
L, L
L
logisches Oder (vollst. Auswertung)
Priorität 11
&&
L, L
L
logisches Und
Priorität 12
||
L, L
L
logisches Oder
Priorität 13
? :
L, A, A
R
bedingte Auswertung
Priorität 14
=
V, A
R
Wertzuweisung
+= -= *= /= %=
V, N
R
kombinierte Zuweisung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Priorität 7
Typisierung (Operandentypen):
N = Numerische Typen
I = Integrale Typen (ganzzahlige)
L = Logische Typen
S = String-Typen
Typisierung (Operandentypen):
R = Referenztypen
P = Primitive Typen
A = Alle Typen möglich
V = Variable erforderlich
Assoziativität:
L = Links
R = Rechts
Modulüberblick
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
5.1 Eigenschaften von Ausdrücken
5.2 „Klassische“ Operationen
5.3 Sonstige Operatoren und Regeln
5.4 Verzweigungen
5.5 Schleifen
5.6 Sprunganweisungen
6
Objektorientierte Programmierung
7
Übungsaufgaben
Ausdrücke und Anweisungen in Java
154
Verzweigungen
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Grundlagen zur Ablaufsteuerung:

Ausdrücke haben in Java stets einen Rückgabewert – Anweisungen haben
keinen Rückgabewert!

Eine Anweisung wird immer von einem Semikolon beendet.

Ein Block ist eine Zusammenfassung von Anweisungen, die nacheinander
ausgeführt werden und syntaktisch als eine Anweisung verstanden werden.

Innerhalb eines Blocks können lokale Variablen definiert werden.
{
Anweisung1;
Anweisung2;
…
}
Ausdrücke und Anweisungen in Java
Verzweigungen
Grundlagen zur Ablaufsteuerung:

Es werden u. a. folgende Anweisungen unterschieden:
 Verzweigungsanweisungen,
 Schleifenanweisungen,
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Ausdrucksanweisungen.
155
Ausdrücke und Anweisungen in Java
Verzweigungen
Exkurs: Struktogramm (Nassi-Shneidermann-Diagramm):

Darstellung des Kontrollflusses bei strukturierter Programmierung

Strukturierte Programmierung
 Fortsetzung des Prinzips der Hierarchisierung in der Spezifikation
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Beschränkung auf drei elementare Kontrollstrukturen:
– Sequenz (Folge)
– Auswahl (Selektion, Verzweigung)
– Iteration (Repitition, Schleife, Wiederholung)
156
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Verzweigungen
Exkurs: Struktogramm (Nassi-Shneidermann-Diagramm):
157
Ausdrücke und Anweisungen in Java
158
Verzweigungen
Verzweigungen:

Verzweigungen dienen in Java dazu, bestimmte Programmteile nur beim
Eintreten vorgegebener Bedingungen, die erst zur Laufzeit bekannt werden,
auszuführen.

An Verzweigungen bietet Java …
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 … die if-Anweisung,
 … die if-else-Anweisung,
 … die else-if-Anweisung,
 … die switch-Anweisung.
Ausdrücke und Anweisungen in Java
159
Verzweigungen
if-Anweisung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
if (ausdruck){
anweisung;
}
if (ausdruck){
anweisung1;
else {
anweisung2;
}

ausdruck muss vom Typ boolean sein.

Trifft die Bedingung zu (hat also ausdruck
den Wert true), so wird anweisung1
ausgeführt.

Trifft die Bedingung nicht zu (hat also
ausdruck den Wert false), so wird
anweisung2 ausgeführt, falls ein else Zweig
vorhanden ist.

Anstelle einer einzelnen Anweisung darf auch
eine Folge von Anweisungen aufgerufen
werden, wenn diese innerhalb eines Blocks
{...} stehen.
}
if (ausdruck){
anweisung1;
}
else if (ausdruck){
anweisung2;
}
else {
anweisungX; }
Ausdrücke und Anweisungen in Java
Verzweigungen
if-Anweisung – Beispiel:
Implementieren Sie ein Programm if-Anweisung, das eine Division durch 0
abfängt. Gehen Sie dabei wie im Struktogramm beschrieben vor.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Testen Sie es für die Werte a = 4, b = 0!
160
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Verzweigungen
if-Anweisung (Lösung):
161
Ausdrücke und Anweisungen in Java
162
Verzweigungen
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
switch-Anweisung:
switch (ausdruck)
{
case constant1:
anweisung;
case constant2:
anweisung;
…
default:
anweisung;
}

Mehrfachverzweigung

(ausdruck) muss vom Typ byte, short,
char oder int sein

Es wird die Sprungmarke angesprungen,
deren Konstante mit dem Ergebnis des
Ausdrucks übereinstimmt.

Das optionale default-Label wird dann
angesprungen, wenn keine passende
Sprungmarke gefunden wird.

Nach einem Sprung werden alle dahinter
stehenden Anweisungen ausgeführt, außer
die Abarbeitung wird durch eine breakAnweisung unterbrochen.
Ausdrücke und Anweisungen in Java
163
Verzweigungen
switch-Anweisung – Beispiel:
Implementieren Sie ein Programm Monat, das einen beliebigen Monat im Jahr
ausgibt. Gehen Sie dabei wie im Struktogramm beschrieben vor.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Testen Sie es für int monat = 4!
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
switch mit break
164
Verzweigungen
switch-Anweisung:
switch ohne break
Ausdrücke und Anweisungen in Java
Verzweigungen
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
switch-Anweisung:

Jede switch-Anweisung kann auch durch eine if-Anweisung ersetzt
werden.

switch prüft jedoch nur auf Gleichheit von Werten – im Gegensatz zur ifAnweisung, bei der ein logischer Ausdruck ausgewertet wird.

Der Bewertungsausdruck der switch-Anweisung kann nur ganzzahlige
Werte oder Zeichen verarbeiten.
165
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Verzweigungen
switch-Anweisung:

Beispiel:
166
Ausdrücke und Anweisungen in Java
167
Aufgaben

Schreiben Sie ein Programm, das
 ein Array vname mit den Werten {Max, Walter} sowie
 ein Array nname :mit den Werten {Walter, Mueller}
erzeugt.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Überprüfen Sie, ob die beiden Arrays die gleiche Anzahl an Elementen haben und
geben Sie diese mit Hilfe der Methode System.out.println aus!
 Überprüfen Sie, ob die beiden Arrays einen gemeinsamen Eintrag haben. Ist dies
der Fall, so geben Sie mit Hilfe der Methode System.out.println eine
Fehlermeldung aus, dass die Daten gegebenenfalls inkonsistent sind!
 Modellieren Sie die Aufgabe mit Hilfe eines Struktogramms!
Modulüberblick
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
5.1 Eigenschaften von Ausdrücken
5.2 „Klassische“ Operationen
5.3 Sonstige Operatoren und Regeln
5.4 Verzweigungen
5.5 Schleifen
5.6 Sprunganweisungen
6
Objektorientierte Programmierung
7
Übungsaufgaben
Ausdrücke und Anweisungen in Java
169
Schleifen
Überblick:

Schleifen führen Anweisungen wiederholt aus, solange eine Bedingung erfüllt
ist.

Java besitzt die drei Schleifenanweisungen :
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 die while-Schleife (abweisend),
 die do-Schleife (nichtabweisend) und
 die for-Schleife (Zählschleife).
Ausdrücke und Anweisungen in Java
170
Schleifen
while-Anweisung:

Die while-Schleife ist eine abweisende
Schleife, d.h. die Ausführungsbedingung
wird jeweils vor Eintritt in die Schleife
geprüft.

(ausdruck) muss vom Typ boolean sein.

Hat (ausdruck) den Wert true wird die
anweisung ausgeführt, andernfalls nicht.

Um keine Endlosschleife zu erhalten, muss
ein Teil des Bewertungsausdrucks innerhalb
der anweisung manipuliert werden.
while (ausdruck){
anweisung;
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
}
Ausdrücke und Anweisungen in Java
171
Schleifen
9
summe   a
a 0
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Schleifen
while-Anweisung:
172
Ausdrücke und Anweisungen in Java
173
Schleifen
do-Anweisung:

Die do-Schleife ist eine nichtabweisende
Schleife, d.h. die Anweisungen im
Schleifenkörper werden immer mindestens
einmal ausgeführt.

(ausdruck) muss vom Typ boolean sein.

Hat (ausdruck) den Wert false wird die
Schleife beendet.
do {
anweisung;
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
}
while (ausdruck)
Ausdrücke und Anweisungen in Java
174
Schleifen
do-Anweisung – Beispiel:
Implementieren Sie ein Programm DoSchleife, das die folgende
Formel berechnet:
9
summe   a
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
a 0
Gehen Sie dabei wie im Struktogramm beschrieben vor!
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Schleifen
do-Anweisung :
175
Ausdrücke und Anweisungen in Java
176
Schleifen
for-Anweisung:

init ist eine Anweisung, in der
typischerweise eine Zählvariable (i.d.R.
ganzzahlig) mit einem Startwert initialisiert
wird.

test ist ein boolean-Ausdruck. Der
Schleifenrumpf wird solange wiederholt, wie
der Ausdruck wahr (true) ist.

update ist eine Anweisung, in der
typischerweise die Zählvariable
inkrementiert (erhöht) oder dekrementiert
(erniedrigt) wird.
(z.B. i++ oder i-- )
for (init; test; update) {
anweisung;
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
}
Ausdrücke und Anweisungen in Java
Schleifen
for-Anweisung – Beispiel:
Implementieren Sie ein Programm Zählschleife, das fünf Mal die Schleife
durchläuft und bei jedem Durchlauf den aktuellen Stand der for-Anweisung
ausgibt.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Gehen Sie dabei wie im Struktogramm beschrieben vor!
177
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Schleifen
for-Anweisung:
178
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Schleifen
for-Anweisung:
179
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Schleifen
geschachtelte for-Anweisung:
180
Ausdrücke und Anweisungen in Java
Schleifen
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
While–Anweisung vs. For–Anweisung:

Die While Schleife verwendet man normalerweise bei dynamischen
Abbruchbedingungen – wenn also erst während der Laufzeit bestimmt wird,
wie viele Schleifendurchläufe es gibt!
(Bsp.: Programmierung von Netzwerkverbindungen)

Die For Schleife verwendet man meistens, wenn bereits während der
Programmierung feststeht, wie oft die Schleife durchlaufen wird. (Bsp.:
Berechnung von n!)
181
Ausdrücke und Anweisungen in Java
182
Aufgabe
Sortieralgorithmen:
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
In der Programmierung gibt es zahlreiche Möglichkeiten, um Elemente in einer Liste zu
sortieren:

Quicksort

Bubblesort (nicht Klausurrelevant)

Mergesort (nicht Klausurrelevant)

Selectionsort (nicht Klausurrelevant)

Heapsort (nicht Klausurrelevant)
Recherchieren Sie die grundlegende Funktionalität eines Sortieralgorithmus und stellen
Sie diese in der nächsten Vorlesungseinheit vor. Zur Bearbeitung der Aufgabe können
Sie sich in Gruppen von je 2 – 3 Personen zusammen schließen (jede Gruppe
bearbeitet einen Algorithmus!).
Die Präsentation sollte folgende Punkte enthalten:

Skizzierter Ablauf des Algorithmus (z. B. mit Hilfe eines Struktogramms)

Vor- und Nachteile des Algorithmus

Laufzeitverhalten

...
Modulüberblick
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
5.1 Eigenschaften von Ausdrücken
5.2 „Klassische“ Operationen
5.3 Sonstige Operatoren und Regeln
5.4 Verzweigungen
5.5 Schleifen
5.6 Sprunganweisungen
6
Objektorientierte Programmierung
7
Übungsaufgaben
Ausdrücke und Anweisungen in Java
Sprunganweisungen
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Übersicht:

Die Sprunganweisung break wird hauptsächlich verwendet, um
Schleifendurchgänge vorzeitig zu beenden.

Sie kann um ein label ergänzt werden, das oft verwendet wird, um zwei
oder mehr ineinander verschachtelte Schleifen zu beenden.
184
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ausdrücke und Anweisungen in Java
Sprunganweisungen
Übersicht:
185
Ausdrücke und Anweisungen in Java
Aufgaben

Schreiben Sie ein Programm, welches die größte Zahl in einem array
berechnet.
Testen Sie es für die Werte für: int [] a = {11, 999, 81, 102, 4};
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Gegeben ist das array a = [0,3,6,10]. Überprüfen Sie, ob die Zahl 20 in a
enthalten ist und geben Sie eine Bestätigung auf der Konsole aus.
186
Ausdrücke und Anweisungen in Java
Aufgaben

Schreiben Sie für folgende Aufgabe ein Programm:
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Sie haben 3 Euro und stehen vor einem Regal mit Bonbons, die 10 Cent, 20
Cent, 30 Cent usw. bis hinauf zu einem Euro kosten. Sie kaufen aufsteigend
von jeder Sorte einen Bonbon, beginnend bei 10 Cent, bis ihr Restgeld für
keinen weiteren Kauf ausreicht. Wie viele Bonbons können Sie kaufen und
wie hoch ist das Restgeld? Programmieren Sie das Problem mit einer FORSchleife!

Implementieren das Problem mit einer WHILE – Schleife!
187
Ausdrücke und Anweisungen in Java
Aufgaben
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Schreiben Sie ein Programm, das die Anzahl der Sekunden im Monat Mai
berechnet.
(Der Mai hat 31 Tage!)
188
Ausdrücke und Anweisungen in Java
Aufgaben
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Implementieren Sie ein Programm fak, das die Fakultät einer Zahl n
berechnet. Gehen Sie dabei wie im Struktogramm beschrieben vor. Testen
Sie es für n = 5!
189
Ausdrücke und Anweisungen in Java
Aufgaben
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Implementieren Sie ein Programm ggt, das den „Größten Gemeinsamen
Teiler“ zweier Zahlen berechnet. Gehen Sie dabei wie im Struktogramm
beschrieben vor. Testen Sie es für die Werte x = 20 und y = 12!
190
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
6.1 Klassen und Objekte
6.2 Variable und Methoden
6.3 Vererbung
6.4 Kapselung
7
Übungsaufgaben
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
6.1 Klassen und Objekte
6.2 Variable und Methoden
6.3 Vererbung
6.4 Kapselung
7
Übungsaufgaben
Objektorientierte
Objektorientierte Programmierung
Programmierung
Klassen und Objekte
Klassen:
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Java-Programme bestehen aus Klassendefinitionen.
[Modifizierer] class Klassenname
[extends Basisklasse] {
Variablendeklarationen
Methodendeklarationen
}
193
Objektorientierte
Objektorientierte Programmierung
Programmierung
194
Klassen und Objekte
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Konstruktoren:

Konstruktoren erzeugen eine Instanz einer Klasse.

Sie werden bei der Erzeugung einer Instanz mit new aufgerufen und werden
benutzt, um einen Anfangszustand für das Objekt herzustellen.

Ein Konstruktor trägt den Namen der zugehörigen Klasse und besitzt keinen
Rückgabewert.

Besitzt eine Klasse keinen expliziten Konstruktor, wird automatisch der
default-Konstruktor aufgerufen.
Objektorientierte Programmierung
Klassen und Objekte
Instanz:
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Um von einer Klasse eine Instanz anzulegen, muss eine Variable vom Typ
der Klasse deklariert und ihr mit Hilfe des new-Operators eine neu erzeugte
Instanz zugewiesen werden.
Auto
porsche = new Auto();
195
Objektorientierte Programmierung
Klassen und Objekte
Instanz:

Der Zugriff auf die Variablen einer Instanz erfolgt über die Punktnotation.
Instanzname.Variablenname
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Beispiel:
porsche.name = „Porsche 311“;
porsche.erstzulassung = 2000;
System.out.println( porsche.name );
System.out.println( porsche.erstzulassung );
196
Objektorientierte Programmierung
Klassen und Objekte
this-Objekt:

this ist eine Referenzvariable, die beim Anlegen eines Objekts
automatisch generiert wird.

Sie zeigt auf das aktuelle Objekt, so dass man über sie die eigenen
Methoden und Instanzvariablen ansprechen kann.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

this wird benutzt, um …
 … auf verdeckte Variablen der eigenen Klasse zuzugreifen,
 … die eigene Instanz als Wert zurückzugeben oder
 … sie als Argument beim Aufruf einer anderen Methode zu verwenden.
197
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Objektorientierte Programmierung
Klassen und Objekte
Konstruktoren:
198
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
6.1 Klassen und Objekte
6.2 Variable und Methoden
6.3 Vererbung
6.4 Kapselung
7
Übungsaufgaben
Objektorientierte Programmierung
200
Variable und Methoden
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Klassenvariable:

Neben Instanzvariablen können in Klassen auch Klassenvariablen mit Hilfe
des Modifizierers „static“ definiert werden.

Eine Klassenvariable enthält Informationen, die sich alle Instanzen teilen.

Wenn ein Objekt diese Variable ändert, ändert sich der Wert der Variable
auch für alle anderen Instanzen.

Ebenso können Klassenmethoden (mit „static“) deklariert werden.
static int aktuelleGeschwindigkeit = 20;
Objektorientierte Programmierung
Variable und Methoden
Definition:

Methoden definieren das Verhalten von Objekten.

Sie werden innerhalb der Klassendefinition angelegt und haben Zugriff auf
alle Variablen des Objekts.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
[Modifizierer] Rückgabetyp Methodenname ([Parameterliste])
{
Anweisungen;
}

Beispiel:
public void drucken (int a) {
System.out.println (a);
}
201
Objektorientierte Programmierung
Variable und Methoden
Parameter:

Jeder Methode kann eine Parameterliste übergeben werden.
public void drucken (int a, int b) {
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
...
}

Mehrere Parameter (Typ und Name) werden durch Kommata getrennt.
202
Objektorientierte Programmierung
203
Variable und Methoden
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Rückgabewert:

Jede Methode in Java ist typisiert, d. h. es wird bei der Definition der Methode
festgelegt, von welchem Typ der Rückgabewert ist.

Dieser kann von einem beliebigen einfachen Datentyp, einem Referenztyp
oder vom Typ void sein.

Methoden vom Typ void liefern keinen Rückgabewert.

Ist eine Methode nicht vom Typ void, muss sie mit Hilfe der returnAnweisung einen Wert an den Aufrufer zurückgeben.
public int meineMethode (int a) {
...
return a - 1;
}
Objektorientierte Programmierung
Variable und Methoden
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Aufruf:

Ähnlich der Verwendung bei Instanzvariablen erfolgt der Aufruf einer
Methode für eine Instanz über die Punktnotation.

Es müssen immer die Parameter der Methode in Klammern angegeben
werden (selbst wenn Liste leer ist).
204
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Objektorientierte Programmierung
Variable und Methoden
Aufruf:
205
Objektorientierte Programmierung
206
Variable und Methoden
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Exkurs: Rekursive Programmierung

Idee: Zerlegung eines Problems in seine Teilprobleme. Die Zerlegung wird
solange durchgeführt, bis eine Abbruchbedingung eintritt.

Eine Funktion ist rekursiv ("zurücklaufend"), wenn sie durch sich selbst
definiert ist.
 Sie ruft sich (im Methodenrumpf) selbst auf um ein Problem zu lösen, bis
eine bestimmte Abbruchbedingung erfüllt wird.

Beispiel: Berechnung der Fakultät (Abbruchbedingung: 1! = 1)
4!
4
*
3!
4
*
3
*
2!
4
*
3
*
2
*
1!
Objektorientierte Programmierung
Variable und Methoden
Exkurs: Rekursive Programmierung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Aufgabe: Programmieren Sie eine Funktion, die rekursiv die Fakultät einer
Zahl berechnet. Gehen Sie dabei wie im Struktogramm beschrieben vor.
207
Objektorientierte Programmierung
Variable und Methoden
Aufgaben:

Schreiben Sie eine Klasse Grundrechenarten.java, mit den folgenden
Methoden:
 Addition,
 Subtraktion
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Multiplikation
 Division (! schließen Sie den Fall aus, dass durch Null geteilt wird)
 ggt

Schreiben Sie eine zweite Klasse Berechnung.java, in der Sie die
Methoden mit beliebigen Werten testen!
208
Objektorientierte Programmierung
Variable und Methoden
Aufgaben:
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde

Schreiben Sie für die Klasse „Person“
eine Anwendungs-Klasse
„PersonTest“. Erzeugen Sie zwei
neue Instanzen und speichern die
Namen „Max Mustermann“ und
„Mona Lisa“ in die dafür vorgesehnen
Variablen. Lassen Sie sich die Werte
am Bildschirm ausgeben! (Die Datei
Person.java finden Sie in den
Vorlesungsunterlagen auf unserer
Webseite.)
209
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
6.1 Klassen und Objekte
6.2 Variable und Methoden
6.3 Vererbung
6.4 Kapselung
7
Übungsaufgaben
Objektorientierte Programmierung
Vererbung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Ableiten einer Klasse:

Java unterstützt lediglich Einfachvererbung.

Um eine neue Klasse aus einer bestehenden abzuleiten, ist durch das
Schlüsselwort extends ein Verweis auf die Basisklasse zu geben.
public class Unterklasse extends Oberklasse {
...
}

Die Vererbung erlaubt die beliebige Wiederverwendung des Codes der
Superklasse.
211
Objektorientierte Programmierung
212
Vererbung
Umsetzung in Java:
public class Fahrrad {
public static int instanzzaehler = 0;
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
public double aktGeschw;
public double bremse (double geschw) {
aktGeschw = aktGeschw - geschw;
public class Mountainbike extends Fahrrad{
public static void main(String[] args) {
Mountainbike scott = new Mountainbike ();
scott.aktGeschw = 30;
scott.bremse(20.0);
System.out.println (scott.aktGeschw);
return aktGeschw;
}}
instanzzaehler = instanzzaehler + 1;
System.out.println (instanzzaehler + " Instanzen erzeugt");
}}
Objektorientierte Programmierung
213
Vererbung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Polymorphismus:

In der objektorientierten Programmierung können mehrere Methoden den
gleichen Namen besitzen, auch wenn sie auf das gleiche Objekt angewendet
werden bzw. sich in der gleichen Klasse befinden.

Dieses Konzept nennt man Polymorphismus.

Dabei kommen zwei grundlegende Techniken zum Tragen:
 das Überladen (Overloading)
 das Überschreiben (Overriding)
Objektorientierte Programmierung
214
Vererbung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Polymorphismus: Überladen

Überladen bedeutet, dass in der Superklasse und Subklasse bzw. innerhalb
einer Klasse mehrere Methoden mit gleichem Namen parallel vorhanden sind,
die sich allerdings in der Parametersignatur unterscheiden.

Eine Parametersignatur besteht aus Anzahl und Typ der übergebenen
Parameter.

Beispiele für Einsatzmöglichkeiten:
 Definition von Konstruktoren
 Java API (siehe Beispiel println())
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Objektorientierte Programmierung
Vererbung
Polymorphismus: Überladen
215
Objektorientierte Programmierung
216
Vererbung
Polymorphismus: Überschreiben

Erbt eine Klasse eine Methode der Superklasse, hat sie die Möglichkeit, diese
Methode zu überschreiben. Dabei sind folgende Regeln einzuhalten:
 Der Methodenname muss übereinstimmen.
 Die Parameterliste und der Rückgabetyp müssen übereinstimmen.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Die Funktionalität der Methode kann beliebig geändert werden.

Wurde eine Methode überschrieben, wird beim Aufruf der Methode immer die
überschriebene Version verwendet.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Objektorientierte Programmierung
Vererbung

Beispiel:
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
6.1 Klassen und Objekte
6.2 Variable und Methoden
6.3 Vererbung
6.4 Kapselung
7
Übungsaufgaben
Objektorientierte Programmierung
219
Kapselung
Variablen
(Zustand)
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Methoden
(Verhalten)

Als Datenkapselung (information hiding) bezeichnet man das Verbergen von
Daten oder Informationen vor dem Zugriff von außen. Der direkte Zugriff auf
die interne Datenstruktur wird unterbunden und erfolgt statt dessen über
definierte Schnittstellen, die über Methoden realisiert werden.

Hierfür existieren in Java unterschiedliche Zugriffs- und Sicherheitsebenen,
mit denen man den Zugriff von anderen Objekten auf die Variablen und
Methoden eines Objekts steuern kann (z. B. mit Hilfe von Modifizieren).
Objektorientierte Programmierung
Kapselung
Modifizierer:

Modifizierer regeln u. a. den Zugriff auf Klassen, Methoden und Variablen.

Sie haben insb. Einfluss auf deren …
 Lebensdauer,
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Sichtbarkeit und
 Veränderbarkeit.
220
Objektorientierte Programmierung
221
Kapselung
Arten von Modifizieren:
Modifier
Klasse
Variablen
Methode
Konstruktor
X
X
X
X
protected
X
X
X
private
X
X
X
static
X
X
X
X
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
public
final
X
abstract
X
X
Objektorientierte Programmierung
222
Kapselung
Modifizierer: public/private/protected

Zugriffsrechte auf Klassen, Variablen, Methoden und Konstruktoren werden
über public, protected und private gesteuert.
public
protected
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
private
zugreifbar in allen Klassen
zugreifbar in allen Subklassen
zugreifbar in der Klasse

Methoden oder Variablen vom Typ private sind nur in der aktuellen Klasse
sichtbar, in allen anderen Klassen (auch abgeleitete Klassen) dagegen
unsichtbar.

Variablen sollten immer als private definiert werden und über get-/setMethoden zugänglich gemacht werden (Datenkapselung – Information
Hiding).
Objektorientierte Programmierung
223
Kapselung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Exkurs: Information Hiding (Kapselung)

Verstecken der Implementierung einer Klasse hinter den Methoden, die auf
ihre internen Daten ausgeführt werden.
 Entkopplung von Schnittstelle (Interface) und Implementierung

Ziel:
 Wechsel/ Erweiterung der Implementierung – Algorithmen und Datenstrukturen
ohne Probleme austauschbar
 „sichtbare“ Schnittstelle ändert sich nicht

Vermeidung von unerwartetem Objektverhalten
nur gewollte Zugriffe auf Variablen möglich

Information Hiding wird durch spezielle Zugriffsmethoden (get & set Methode)
realisiert, die die privaten Attribute einer Klasse schützen.
Objektorientierte Programmierung
Kapselung
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Exkurs: Information Hiding (Kapselung)

Die Deklaration der Variablen als private verhindert den unerwünschten
Zugriff auf die Variablen von außerhalb der Klasse.

Beispiel:
class student {
private String name;
private int matrNr;
...
}
224
Objektorientierte Programmierung
Kapselung
Exkurs: Information Hiding (Kapselung)

Auf die Variablen kann nur über die Methoden get () und set ()
zugegriffen werden. Diese Methoden müssen public deklariert werden.

Beispiel:
class student {
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
private String name;
private int matrNr;
public String getName () {
return name;
}
public int getMatrNr () {
return matrNr;
}
}
225
Objektorientierte Programmierung
Kapselung
Exkurs: Information Hiding (Kapselung)

Mit den set () - Methoden können den Variablen Werte zugewiesen werden.

Beispiel:
class student {
private String name;
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
private int matrNr;
public String getName () {
return name;
}
public int getMatrNr () {
return matrNr;
}
public void setName (String name) {
this.name = name;
}
public void setMatrNr (int matrNr) {
this.matrNr = matrNr;
}
}
226
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Objektorientierte Programmierung
Kapselung
Exkurs: Information Hiding (Kapselung)

Beispiel:
227
Objektorientierte Programmierung
228
Aufgaben
Studentenverwaltung:
Implementieren Sie eine Klasse Student mit den Attributen Name und Matrikelnummer!
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Fügen Sie der erzeugten Klasse Student geeignete Methoden hinzu und berücksichtigen
dabei die Paradigmen der Objektorientierung (Datenkapselung)!
Implementieren Sie in der Klasse Student die Methode getZaehler(), welche die Anzahl
der erzeugten Studenten in der Variablen zaehler speichert. Warum sollte die Methode
getZaehler() sowie die Variable zaehler als „static“ deklariert sein?
Erzeugen Sie in der Klasse Student zwei Studenten mit den Namen „Max“ und „Moritz“!
Lassen Sie sich die Anzahl der erzeugten Studenten mit Hilfe der Methode getZaehler()
ausgeben!
Objektorientierte Programmierung
229
Aufgaben
Sie haben 750 Euro geschenkt bekommen und ein sensationelles Angebot für
Festgeld entdeckt, welches Ihnen 7,5 % Verzinsung pro Jahr bietet.
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Wie viele Jahre benötigen Sie, damit Sie sich z. B. ein neues Notebook im Wert von
1000 Euro kaufen können?
Beschreiben Sie zunächst den Kontrollfluss des Programms mit Hilfe einer in der
Vorlesung vorgestellten Methodik!
Setzen Sie den Algorithmus in Java um! Um eine künftige Widerverwendbarkeit des
Programms zu ermöglichen, berücksichtigen Sie bei der Implementierung die
Paradigmen der Objektorientierung!
Objektorientierte Programmierung
230
Aufgaben
Implementieren Sie die Klasse Sparbuch mit den Attributen kapital und
zinssatz und den folgenden Methoden:
 zahleEin: erhöht das Guthaben um einen bestimmten Betrag
 hebeAb: vermindert das Guthaben um einen bestimmten Betrag
 verzinse: erhöht das Guthaben um den Jahreszins
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 getKapital: liefet das Guthaben
Erzeugen Sie eine neue Instanz der Klasse (z. B. MeinSparbuch) und testen Sie
die Methoden der Klasse.
Übersicht
1
Grundlagen der Systementwicklung
2
Objektorientierte Softwareentwicklung
3
Grundlagen der Java-Technologie
4
Datentypen und Variablen in Java
5
Ausdrücke und Anweisungen in Java
6
Objektorientierte Programmierung
7
Übungsaufgaben
Übungsaufgaben
Teil 1
Erzeugen Sie ein "Klassendiagramm" mit Hilfe von UML mit folgenden Begriffen.
Berücksichtigen sie Klassen, Attribute, Methoden, Beziehungen, Vererbung, .....
 Auto
 Peugeot
 Räder
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
 Motor
 Fahrgestellnummer
 links blinken
 Mercedes
 Volkswagen
 beschleunigen
 Golf II
232
Übungsaufgaben
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Teil 2

Beschreiben Sie ein in der Vorlesung behandeltes Vorgehensmodell!

Was ist der Unterschied zwischen Validierung und Verifikation?

Was für Programmarten der Programmiersprache Java haben Sie in der Vorlesung
kennen gelernt? Beschreiben Sie diese kurz.

Wie sehen Kommentare im Quelltext aus? Warum sind sie sinnvoll?

Beschreiben Sie die verschiedenen Formen der Konvertierung. Welche Probleme
könnten ggf. auftreten?

Was ist ein Struktogramm? Welche Kontrollstrukturen haben Sie kennen gelernt?

Erstellen Sie ein Struktogramm, das den Vorgang „Geld abheben“ beschreibt.

Welche Datentypen haben Sie in der Vorlesung kennen gelernt und welche Werte
speichern diese?

Wie kann in einer System.out.println-Methode zusätzlich zu Text weiterer Inhalt
ausgegeben werden?
233
Übungsaufgaben
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Teil 3

Was sind Methoden in Java und.was ist ihre Aufgabe?

Wie sind Methoden aufgebaut?

Wie kann eine Fallunterscheidung in Java dargestellt werden?

Wie lautet die Syntax dieser Verzweigung in Java und im Struktogramm.

Welche Schleifen haben Sie in der Vorlesung kennen gelernt?

Beschreiben Sie die generelle Funktionsweise von Schleifen.

Wie lautet die Syntax der Schleifen in Java und im Struktogramm.

Welche Möglichkeiten eröffnet die Verwendung von Arrays?

Nennen Sie die wichtigsten Merkmale von Arrays.

Wie können Sie die Anzahl der Elemente eines Arrays herausfinden? Wie sieht der
Aufruf bei zwei- und dreidimensionalen Arrays aus?

Was versteht man unter dem Begriff „Definite Assignment“?
234
Übungsaufgaben
235
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Teil 4

Was ist ein Klassendiagramm? In welcher Phase der Softwareentwicklung wird es
eingesetzt? Begründen Sie Ihre Antwort.

Was sind Multiplizitäten? Geben Sie jeweils ein Beispiel für eine (1:1), (1:*), (*:*)
Multiplizität an.

Was ist der Unterschied zwischen einer Assoziation und einer Aggregation. Nennen Sie
ein Beispiel.

Beschreiben Sie die Unterschiede folgender Modifizierer:
 public
 protected
 private

Wie wird Information Hiding in Java umgesetzt.

Was sind abstrakte Klassen. Wie werden sie in Java umgesetzt?
Übungsaufgaben
Teil 5
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Beschreiben Sie die folgenden Prinzipien der Objektorientierung:

Objekt-Klassen-Prinzip

Kapselungsprinzip

Vererbungsprinzip

Polymorphieprinzip
236
Katholische Universität Eichstätt-Ingolstadt
Lehrstuhl für ABWL und Wirtschaftsinformatik
Prof. Dr. Klaus D. Wilde
Herunterladen