Beruflich Dokumente
Kultur Dokumente
2
Schleifenbedingungen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
Ausgabe?
3
Schleifenbedingungen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
i 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ X
4
Schleifenbedingungen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
i 1 2 3 4 5 6
i <= 5 ✓ ✓ ✓ ✓ ✓ X
5
Schleifenbedingungen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
i 0 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ ✓ X
6
Schleifenbedingungen 2
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
Ausgabe?
7
Schleifenbedingungen 2
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
i 0 1 2 3 4 5
i <= 5 ✓ ✓ ✓ ✓ ✓ ✓
8
Schleifenbedingungen 2
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
i 0 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ ✓ X
9
Schleifenbedingungen 3: do-while
Gewünscht: 0 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Run: " + count);
count++;
} while (count < 0);
Ausgabe?
10
Schleifenbedingungen 3: do-while
Gewünscht: 0 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Run: " + count);
count++;
} while (count < 0);
11
Laufvariablen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
Ausgabe?
12
Laufvariablen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
Durchlauf 1 2 3 4
i 0 2 4 6
i<5 ✓ ✓ ✓ X
13
Laufvariablen 1
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int count = 0;
Durchlauf 1 2 3 4 5 6
i 0 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ ✓ X
14
Laufvariablen 2
Gewünscht: 5 Schleifendurchläufe
while (i < 5) {
System.out.println("Run: " + i);
}
Ausgabe?
15
Laufvariablen 2
Gewünscht: 5 Schleifendurchläufe
while (i < 5) {
System.out.println("Run " + i);
}
Durchlauf 1 2 3 4 … …
i 0 0 0 0 0 0 =Endlosschleife
i<5 ✓ ✓ ✓ ✓ ✓ ✓
16
Laufvariablen 2
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int i = 0;
while (i < 5) {
System.out.println("Run " + i);
i++;
}
Durchlauf 1 2 3 4 5 6
i 0 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ ✓ X
17
Laufvariablen 3
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int i = 0;
do {
System.out.println("Run: " + i);
} while (i < 5);
Ausgabe?
18
Laufvariablen 3
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int i = 0;
do {
System.out.println("Run: " + i);
} while (i < 5);
Durchlauf 1 2 3 4 … …
i 0 0 0 0 0 0 =Endlosschleife
i<5 ✓ ✓ ✓ ✓ ✓ ✓
19
Laufvariablen 3
Gewünscht: 5 Schleifendurchläufe
public static void main(String[] args) {
int i = 0;
do {
System.out.println("Run: " + i);
i++;
} while (i < 5);
Durchlauf 1 2 3 4 5 6
i 0 1 2 3 4 5
i<5 ✓ ✓ ✓ ✓ ✓ X
20
Arrays (und Schleifen )
1 2 3 4 87328472 7472347
21
Ein Array
Größe: 5
Aber ... Indizes?
0 0 0 0 0
Index i ? ? ? ? ?
22
Ein Array
Gewünscht: Ausgabe des 5. Elements
0 0 0 0 0
Index i 1 2 3 4 5
23
Ein Array
Gewünscht: Ausgabe des 5. Elements
0 0 0 0 0
Index i 1 2 3 4 5
24
Ein Array
Gewünscht: Ausgabe des 5. Elements
0 0 0 0 0
Index i 0 1 2 3 4
25
Ein Array, mit was drin
Gewünscht:
1 2 3 4 5
System.out.println(theThree);
}
26
Ein Array, mit was drin
Gewünscht:
1 2 3 4 5
Index i 0 1 2 3 4
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
System.out.println(theThree);
}
27
Ein Array, mit was drin
Gewünscht:
1 2 3 4 5
Index i 0 1 2 3 4
System.out.println(theThree);
}
28
Noch ein Array
Länge: unbekannt n = array.length
Indices?
Index i 1 2 … n-1 n
29
Noch ein Array
Länge: unbekannt n = array.length
Indices?
Index i 1 2 … n-1 n
30
Noch ein Array
Länge: unbekannt n = array.length
Indices!
31
Noch ein Array
In Java?
32
Noch ein Array
In Java?
33
Noch ein Array
In Java?
34
Arrays und Indices
Länge n
Indices 0 … n-1
35
Arrays und Indices
Länge array.length
36
Arrays und Schleifen 1
Ziel: Ausgabe aller Elemente
1 2 3 4 5
Index i 0 1 2 3 4
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
37
Arrays und Schleifen 1
Ziel: Ausgabe aller Elemente
1 2 3 4 5
Index i 0 1 2 3 4
38
Arrays und Schleifen 1
Ziel: Ausgabe aller Elemente
1 2 3 4 5
Index i 0 1 2 3 4
39
Arrays und Schleifen 1
Ziel: Ausgabe aller Elemente
1 2 3 4 5
Index i 0 1 2 3 4
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
40
Arrays und Schleifen 2
Ziel: Ausgabe aller Elemente
1 2 n-1 n
Index i 0 1 … n-2 n-1
41
Arrays und Schleifen 2
Ziel: Ausgabe aller Elemente
1 2 n-1 n
Index i 0 1 … n-2 n-1
42
Arrays und Schleifen
Länge: array.length
i: i < array.length
43
Aufruf von Unterprogrammen
44
Aufruf von Unterprogrammen
Unsere Unterprogramme:
public static int input() { … } //Eingabe einer Zahl
45
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
46
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
47
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
48
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
49
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
50
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
51
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
52
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
53
Aufruf von Unterprogrammen
public static int input() { … } //Eingabe einer Zahl
54
Values & References
Ein einfaches Beispiel…
int alpha = 9; alpha 9
beta++;
beta 10
9
System.out.println(beta);
Ausgabe: 10
55
Values & References
int[] alpha = {1, 2, 3, 4, 5}; alpha 1 2 3 4 5
int[] beta = alpha;
beta
56
Values & References
int[] alpha = {1, 2, 3, 4, 5}; alpha 10 10 10 10 10
int[] beta = alpha;
beta
Ziel:
beta: int-Array der Länge 5, mit lauter 10 befüllt
alpha: nicht verändert
57
Values & References
int[] alpha = {1, 2, 3, 4, 5}; alpha 1 2 3 4 5
int[] beta = alpha;
beta 10 10 10 10 10
Ziel:
beta: int-Array der Länge 5, mit lauter 10 befüllt
alpha: nicht verändert
//Beispielsweise
beta = new int[5];
58
Values & References
Das gilt auch für Unterprogramme!
Array-Parameter sind Kopien, referenzieren jedoch dasselbe Array!
1 2 3 4 5
59
(Java):
Häufige Fehler und
andere Geschichten
PROGRAM ON!