18
II.1. 5. Arrays - 1- 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Arrays

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

  • Upload
    others

  • View
    49

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 1 -

1. Erste Schritte

2. Einfache Datentypen

3. Anweisungen und Kontrollstrukturen

4. Verifikation

5. Arrays

Page 2: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 2 -

5. Arrays

Ort

80114folge:

folge [0] = = 14, ..., folge [3] = = 8

bestand:Ort

Artikel

0 1 2 3 ...

0

1

2

3

...

5 0 10 7

0231

2 17 1 1

80114

bestand [0] [0] = = 5, bestand [0] [1] = = 0,

bestand [0] [2] = = 10, ...

Page 3: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 3 -

Wert- und Referenzvariablen

int x;

x = 10;

...

...

x

int [] x;

x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

x

...

...

[0]

[1]

[2]

10

Primitive Datentypen: Variablen speichern Werte

Andere Datentypen (Arrays, Strings, ...): Variablen speichern Verweise

Page 4: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 4 -

Wert- und Referenzvariablen

int x;

x = 10;

...

...

x

int [] x;

x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

x

...

...

[0]

[1]

[2]

2

5

14

10

Primitive Datentypen: Variablen speichern Werte

Andere Datentypen (Arrays, Strings, ...): Variablen speichern Verweise

Page 5: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 5 -

Zuweisung bei Wertvariablen

int x = 2;

int y = x;

y = 8;

...

x 2

...

2y

Page 6: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 6 -

Zuweisung bei Wertvariablen

int x = 2;

int y = x;

y = 8;

...

x 2

Zum Schluss: x = = 2

...

8y

Page 7: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 7 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

2

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Page 8: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 8 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

2

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Page 9: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 9 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

8

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Zum Schluss: x [1] = = 8

Page 10: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 10 -

Zuweisung, Typ

Name = Ausdruck

Zuweisung

Name

Typ

Page 11: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 11 -

Zuweisung, Typ

Name [ Ausdruck ] = Ausdruck

Zuweisung

Name

[]

Typ

Page 12: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 12 -

Ausdruck

Grundwert

Name

Methodenaufruf

)Ausdruck(

Infix-Operator

Ausdruck? : AusdruckAusdruck

Typ( ) Präfix-Operator

Page 13: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 13 -

Ausdruck

Grundwert

Name

Methodenaufruf

)Ausdruck(

Infix-Operator

Ausdruck? : AusdruckAusdruck

Typ( ) Präfix-Operator

new Name Ganzzahl[ ]

Ausdruck[ ]

Page 14: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 14 -

public class Palindrom {

public static void main (String [] args) {

char [] wort = args[0].toCharArray();

boolean palindrom = true;

for (int i = 0;

i <= (wort.length - 2) / 2 && palindrom;

i++)

palindrom = wort [i] = = wort [wort.length - 1 - i];

System.out.println(palindrom);

}

}

Palindrom-Programm mit Arrays

Page 15: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 15 -

public static void main (String [] args) {

int i,j,z;

int n = SimpleIO.getInt("Wieviele Zahlen sortieren?");

int [] a = new int[n];

//Lies Elemente ein

for (i = 0; i < n; i++)

a[i] = SimpleIO.getInt("Gib eine Zahl ein");

//Sortiere Elemente

for (i = 0; i < n-1; i++)

//Vertausche a[i] mit kleinstem Nachfolger

for (j = i+1; j < n; j++)

if (a[i] > a[j]) { //Nachfolger kleiner als a[i]?

//Vertausche a[i] und a[j]

z = a[i]; a[i] = a[j]; a[j] = z; }

//Gib sortierte Elemente aus

String result = "";

for (i = 0; i < n; i++) result = result + a[i] + " ";

SimpleIO.output(result,"Sortierte Elemente"); }

Sort-Programm mit Arrays

Page 16: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 16 -

for (int i = 0; i < a.length; i++) {

int var = a[i];

System.out.print(var);

}

foreach Schleife

Array a vom Typ int []

for (int var : a) {

System.out.print(var);

}

Page 17: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 17 -

for (int i = 0; i < a.length; i++) {

type var = a[i];

}

foreach Schleife

Array a vom Typ type []

for (type var : a) {

}

Page 18: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 18 -

public static void main (String [] args) {

int i,j,z;

int n = SimpleIO.getInt("Wieviele Zahlen sortieren?");

int [] a = new int[n];

//Lies Elemente ein

for (i = 0; i < n; i++)

a[i] = SimpleIO.getInt("Gib eine Zahl ein");

//Sortiere Elemente

for (i = 0; i < n-1; i++)

//Vertausche a[i] mit kleinstem Nachfolger

for (j = i+1; j < n; j++)

if (a[i] > a[j]) { //Nachfolger kleiner als a[i]?

//Vertausche a[i] und a[j]

z = a[i]; a[i] = a[j]; a[j] = z; }

//Gib sortierte Elemente aus

String result = "";

for (i = 0; i < n; i++) result = result + a[i] + " ";

SimpleIO.output(result,"Sortierte Elemente"); }

Sort-Programm mit Arrays

for (int x : a) result = result + x + " ";

for (int x : a)

x = SimpleIO.getInt("Gib eine Zahl ein");