ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

94
A B Z a z Buchstabe Ziffer 0 1 8 9 Java Syntaxdiagramme

Transcript of ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Page 1: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

A B Z a z

Buchstabe

Ziffer

0 1 8 9

Java Syntaxdiagramme

Page 2: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Java Syntaxdiagramme

Buchstabe

Buchstabe

Ziffer

_

$Name

Page 3: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Java Syntaxdiagramme

+

-

Nichtnullziffer

Ziffer

0

0x

0X

Oktalziffer

Hexziffer

l

L

0

Ganze Zahl

Page 4: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Java Syntaxdiagramme

Hexadezimalziffer

a b f A F

Ziffer

Nichtnullziffer

1 2 8 9

Oktalziffer

0 1 6 7

Page 5: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

/

Name

Zahl

Ausdruck Ausdruck( )+

-

*

Ausdruck

Java Syntaxdiagramme

Page 6: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Alternative Darstellungsformen:

1. Kontext-freie Grammatik. Ersetzungsregeln <Name> = <Buchstabe> <Zeichenliste> <Zeichenliste> = (leeres Wort) <Zeichenliste> = <Buchstabe> <Zeichenliste> <Zeichenliste> = <Ziffer> <Zeichenliste> <Zeichenliste> = '_' <Zeichenliste> <Zeichenliste> = '$' <Zeichenliste>

2. Backus-Naur-Form. <Name> = <Buchstabe>(<Buchstabe>|<Ziffer>|'_'|'$')*

Page 7: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

c = a + b;

Page 8: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

int a, b, c;

c = a + b;

Variablendeklaration

Page 9: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

Variablendeklaration

Hauptprogramm

Page 10: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Page 11: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Datentyp:int

Page 12: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Datentyp:int

Zuweisung

Page 13: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Datentyp:int

Zuweisung Addition

Page 14: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Datentyp:int

Zuweisung Addition

Anweisungen werden mit einem Strichpunkt abgeschlossen

Page 15: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel

{

public static void main (String argv[])

{

int a, b, c;

c = a + b;

}

}

Dateiname: Beispiel.java

Variablendeklaration

Hauptprogramm

Datentyp:int

Zuweisung Addition

Anweisungen werden mit einem Strichpunkt abgeschlossen

Beginn

Ende

Page 16: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Datentypen (ganze Zahlen):

• byte -128 ... 127

• short -32768 ... 32767

• int -2147483648 ... 2147483647

• long -9223372036854775808 ...

9223372036854775807

Datentypen (Kommazahlen):

• float ±1.4023E-45 ...

±3.4028E+38 (10 Stellen)

• double ±4.9406E-324 ...

±1.7976E+308 (20 Stellen)

Datentypen:

• char einzelnes Zeichen, z.B. ‘a‘

• String Zeichenkette, z.B. “Java“

• boolean Wahrheitswert (true oder false)

Page 17: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

int a;

a = -23;

double d = 2.3456;

float f;

f = -5.4321;

boolean b = true;

char ch = ‘E‘;

String st = “test“;

Variablennamen: bestehen aus

Zeichen, Ziffern, und _ , darf

nicht mit einer Ziffer beginnen.

Page 18: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Arithmetische Operationen:

+ - * / für ganze Zahlen und Kommazahlen

+ auch für Strings (concatenate)

% nur für ganze Zahlen (modulo)

= Zuweisung, kein Vergleich

Vergleiche (ergibt immer einen boolean):

== alle Datentypen, außer String (Gleichheit)

!= alle Datentypen, außer String (Ungleichheit)

< > <= >= alle Datentypen, außer String und boolean

Page 19: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Verzweigung:

if (Bedingung)

{

Anweisungen1;

}

else

{

Anweisungen2;

}

Bedingung ist ein Ausdruck vom Typ boolean (z.B. ein Vergleich)

Anweisungen1 sind eine Folge vonAnweisungen, die ausgeführt werdenwenn die Bedingung erfüllt ist(bei einer Anweisung können die Klammern entfallen)

Anweisungen2 sind eine Folge vonAnweisungen, die ausgeführt werdenwenn die Bedingung nicht erfüllt ist(der else - Teil kann entfallen)

Page 20: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel2

{

public static void main (String argv[])

{

int a, b, c;

c = 12;

if (c < 0)

{

a = 3;

b = 7;

c = 2 * a + b;

}

else

c = 2 * c;

}

}

Page 21: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Eingabe:

• über Parameter (später)

• von der Tastatur (schwierig)

Page 22: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Eingabe:

• über Parameter (später)

• von der Tastatur (schwierig)Entsprechende Funktionen werden vorgegeben.

Page 23: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Eingabe:

• über Parameter (später)

• von der Tastatur (schwierig)

Ausgabe:

• System.out.print(String);

• System.out.println(String);

Entsprechende Funktionen werden vorgegeben.

Page 24: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Eingabe:

• über Parameter (später)

• von der Tastatur (schwierig)

Ausgabe:

• System.out.print(String);

• System.out.println(String);

Variablen, die nicht vom Typ String sindkönnen ausgegeben werden, indem sie mit einem String konkateniert werden.

Entsprechende Funktionen werden vorgegeben.

Page 25: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel3

{

public static void main (String argv[])

{

int a = 23;

double d = 17.98;

System.out.println(“Hello World“);

System.out.print(““+d);

System.out.println(“a = “+a);

}

}

Page 26: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel3

{

public static void main (String argv[])

{

int a = 23;

double d = 17.98;

System.out.println(“Hello World“);

System.out.print(““+d);

System.out.println(“a = “+a);

}

}

““ ist der leere String

Page 27: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel4

{

Input in = new Input();

public static void main (String argv[])

{

int a, b, c;

a = in.readInt();

b = in.readInt();

c = a + b;

System.out.println(“a + b =“+c);

}

}

class Input

{

...

}

Page 28: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel4

{

Input in = new Input();

public static void main (String argv[])

{

int a, b, c;

a = in.readInt();

b = in.readInt();

c = a + b;

System.out.println(“a + b =“+c);

}

}

class Input

{

...

}

Die Klasse Input stellt uns die FunktionenreadInt(), readDouble(), readString() zurVerfügung.

Page 29: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel4

{

Input in = new Input();

public static void main (String argv[])

{

int a, b, c;

a = in.readInt();

b = in.readInt();

c = a + b;

System.out.println(“a + b =“+c);

}

}

class Input

{

...

}

Die Klasse Input stellt uns die FunktionenreadInt(), readDouble(), readString() zurVerfügung.

in ist eine Variable vom Typ Input

Page 30: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava - Beispiel

public class Beispiel4

{

Input in = new Input();

public static void main (String argv[])

{

int a, b, c;

a = in.readInt();

b = in.readInt();

c = a + b;

System.out.println(“a + b =“+c);

}

}

class Input

{

...

}

Die Klasse Input stellt uns die FunktionenreadInt(), readDouble(), readString() zurVerfügung.

in ist eine Variable vom Typ Input

Mit in.readInt() wird die FunktionreadInt() der Klasse Input aufgerufen.Diese liest ein ganze Zahl ein.

Page 31: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

höhere ProgrammiersprachenJava

Klassen:

• hat Methoden (Funktionen) und Daten (Variablen)• es kann mehrere Klassen geben• nur eine Klasse darf public sein

Page 32: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

höhere ProgrammiersprachenJava

Klassen:

• hat Methoden (Funktionen) und Daten (Variablen)• es kann mehrere Klassen geben• nur eine Klasse darf public sein• Variablen müssen mit new angelegt werden. Input in = new Input();• Funktionen werden Variablenname.Funktionsname aufgerufen in.readInt() oder in.readDouble()

Page 33: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

höhere ProgrammiersprachenJava

Klassen:

• hat Methoden (Funktionen) und Daten (Variablen)• es kann mehrere Klassen geben• nur eine Klasse darf public sein• Variablen müssen mit new angelegt werden. Input in = new Input();• Funktionen werden Variablenname.Funktionsname aufgerufen in.readInt() oder in.readDouble()• alle Datentypen außer boolean, byte, char, short, int, long, float, double sind Klassen• die Klasse String ist eine Ausnahme (kein new erforderlich)

Page 34: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Verknüpfung von Bedingungen:

• && and (und)

• | | or (oder)

• ! not (nicht)

Page 35: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Verknüpfung von Bedingungen:

• && and (und)

• | | or (oder)

• ! not (nicht)

if ((Bed1) && (Bed2))

{ ... }

if ((Bed1) || (Bed2))

{ ... }

if (!(Bedingung))

{ ... }

Page 36: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

if ((a <= 0) && (a >= -20))

{ ... }

if ((a < 0) || (a > 0))

{ ... }

if (((a % 250) == 0) ||

(((a % 5) == 0) && (!((a % 50) == 0)))))

{ ... }

Page 37: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

...

System.out.println(“1*1 = “+(1*1));

System.out.println(“2*2 = “+(2*2));

System.out.println(“3*3 = “+(3*3));

System.out.println(“4*4 = “+(4*4));

System.out.println(“5*5 = “+(5*5));

System.out.println(“6*6 = “+(6*6));

System.out.println(“7*7 = “+(7*7));

System.out.println(“8*8 = “+(8*8));

...

Page 38: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

Page 39: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Gibt die Quadratzahlen von 1 bis 8 aus

Page 40: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Gibt die Quadratzahlen von 1 bis 8 aus

Wie gebe ich die Quadratzahlen von 1 bis 100 aus?

Page 41: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Gibt die Quadratzahlen von 1 bis 8 aus

Wie gebe ich die Quadratzahlen von 1 bis 100 aus?

• Copy and Paste (Zeilen kopieren und anpassen)

Page 42: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Gibt die Quadratzahlen von 1 bis 8 aus

Wie gebe ich die Quadratzahlen von 1 bis 100 aus?

• Copy and Paste (Zeilen kopieren und anpassen)Ziemlich aufwendig,nicht akzeptabel

Page 43: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Gibt die Quadratzahlen von 1 bis 8 aus

Wie gebe ich die Quadratzahlen von 1 bis 100 aus?

• Copy and Paste (Zeilen kopieren und anpassen)

• Schleifen

Ziemlich aufwendig,nicht akzeptabel

Page 44: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

Page 45: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

startaktion wird einmalam Anfang durchgeführt(Initialisierung der Schleife)

Page 46: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

startaktion wird einmalam Anfang durchgeführt(Initialisierung der Schleife)

bedingung wird jedesmal vor der Ausführung von Anweisungen; geprüft.(Also auch nach startaktion)

Page 47: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

startaktion wird einmalam Anfang durchgeführt(Initialisierung der Schleife)

bedingung wird jedesmal vor der Ausführung von Anweisungen; geprüft.(Also auch nach startaktion)

Anweisungen; werden solange ausgeführtbis bedingung nicht mehr erfüllt

Page 48: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

startaktion wird einmalam Anfang durchgeführt(Initialisierung der Schleife)

bedingung wird jedesmal vor der Ausführung von Anweisungen; geprüft.(Also auch nach startaktion)

Anweisungen; werden solange ausgeführtbis bedingung nicht mehr erfüllt

iteraktion wird jedesmal nachAnweisungen;ausgeführt

Page 49: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiel:

...

int i;

for (i = 1;i <= 8;i = i + 1)

System.out.println(i+“*“+i+“ = “+(i*i));

...

Page 50: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiel:

...

int i;

for (i = 1;i <= 8;i = i + 1)

System.out.println(i+“*“+i+“ = “+(i*i));

...

Quadratzahlen von 1 bis 8

Page 51: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiel:

...

int i;

for (i = 1;i <= 100;i = i + 1)

System.out.println(i+“*“+i+“ = “+(i*i));

...

Quadratzahlen von 1 bis 100

Page 52: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i;

double d;

for (i = 0; i < 10; i = i + 1)

{ ... }

for (d = 13.5; d > 1.5; d = d / 2)

{ ... }

for (i = 0; i < 10; i = i – 2)

{ ... }

Page 53: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i;

double d;

for (i = 0; i < 10; i = i + 1)

{ ... }

for (d = 13.5; d > 1.5; d = d / 2)

{ ... }

for (i = 0; i < 10; i = i – 2)

{ ... }

auch Kommazahlenmöglich

Page 54: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i;

double d;

for (i = 0; i < 10; i = i + 1)

{ ... }

for (d = 13.5; d > 1.5; d = d / 2)

{ ... }

for (i = 0; i < 10; i = i – 2)

{ ... }

auch Kommazahlenmöglich

Vorsicht: Endlosschleife

Page 55: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

abkürzende Schreibweisen:

i = i + 1;

i = i – 1;

d = d – 2;

d = d / 3.2;

d = d * 1.09;

i = i + 5;

Page 56: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

abkürzende Schreibweisen:

i = i + 1; i++; oder ++i;

i = i – 1;

d = d – 2;

d = d / 3.2;

d = d * 1.09;

i = i + 5;

Page 57: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

abkürzende Schreibweisen:

i = i + 1; i++; oder ++i;

i = i – 1; i--; oder --i;

d = d – 2;

d = d / 3.2;

d = d * 1.09;

i = i + 5;

Page 58: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

abkürzende Schreibweisen:

i = i + 1; i++; oder ++i;

i = i – 1; i--; oder --i;

d = d – 2; d-=2;

d = d / 3.2;

d = d * 1.09;

i = i + 5;

Page 59: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

abkürzende Schreibweisen:

i = i + 1; i++; oder ++i;

i = i – 1; i--; oder –-i;

d = d – 2; d-=2;

d = d / 3.2; d/=3.2;

d = d * 1.09; d*=1.09;

i = i + 5; i+=5;

Page 60: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife

Page 61: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife kennen wir bereits

Page 62: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife

• while – Schleife

kennen wir bereits

Page 63: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife

• while – Schleife

kennen wir bereits

allgemeinere Form der for - Schleife

Page 64: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife

• while – Schleife

• do – while – Schleife

kennen wir bereits

allgemeinere Form der for - Schleife

Page 65: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Schleifentypen:

• for – Schleife

• while – Schleife

• do – while – Schleife

kennen wir bereits

allgemeinere Form der for - Schleife

andere SchleifenformBedingung am Ende

Page 66: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

while – Schleife:

while (bedingung)

{

Anweisungen;

}

Page 67: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

while – Schleife:

while (bedingung)

{

Anweisungen;

}

Solange bedingung erfüllt ist

Page 68: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

while – Schleife:

while (bedingung)

{

Anweisungen;

}

Solange bedingung erfüllt istwerden Anweisungen; ausgeführt

Page 69: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

while – Schleife:

while (bedingung)

{

Anweisungen;

}

Solange bedingung erfüllt istwerden Anweisungen; ausgeführt

Anweisungen; müssen derart sein, daß bedingung irgendwann einmalnicht mehr erfüllt ist.

Page 70: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife vs. while – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

Page 71: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife vs. while – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

while (bedingung)

{

Anweisungen;

}

Page 72: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife vs. while – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

while (bedingung)

{

Anweisungen;

iteraktion;

}

Page 73: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

for – Schleife vs. while – Schleife:

for (startaktion; bedingung; iteraktion)

{

Anweisungen;

}

startaktion;

while (bedingung)

{

Anweisungen;

iteraktion;

}

Page 74: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i = 0;

boolean b = false;

while (i < 10)

{ ...; i++; }

while (b == true)

{ ... }

i = 0;

while (i >= 0);

{ ...; i--; }

Page 75: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i = 0;

boolean b = false;

while (i < 10)

{ ...; i++; }

while (b == true)

{ ... }

i = 0;

while (i >= 0);

{ ...; i--; }

Vorsicht: EndlosschleifeDer Strichpunkt hinterder Bedingung muss weg.Häufiger Fehler!

Page 76: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

do – while – Schleife:

do {

Anweisungen;

} while (bedingung);

Page 77: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

do – while – Schleife:

do {

Anweisungen;

} while (bedingung); Anweisungen; werden ausgeführt,

Page 78: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

do – while – Schleife:

do {

Anweisungen;

} while (bedingung); Anweisungen; werden ausgeführt,solange bedingung erfüllt.

Page 79: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

do – while – Schleife:

do {

Anweisungen;

} while (bedingung); Anweisungen; werden ausgeführt,solange bedingung erfüllt.

Anweisungen; werden mindestens einmal ausgeführt

Page 80: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int i = 0;

boolean b = false;

do {

i++;

...;

} while (i <= 10);

do {

...;

} while (b != true);

Page 81: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int wert1, wert2, wert3, wert4, wert5, wert6;

wert1 = in.readInt();

wert2 = in.readInt();

wert3 = in.readInt();

wert4 = in.readInt();

wert5 = in.readInt();

wert6 = in.readInt();

Page 82: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

Page 83: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Eine Reihe von Messwerten einlesen?

Page 84: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Eine Reihe von Messwerten einlesen?

Was fällt auf?

Page 85: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Eine Reihe von Messwerten einlesen?

Was fällt auf?

• Alle Messwerte haben den denselben Datentyp

• Schleifen sind so nicht anwendbar

Page 86: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Was tut dieser Programmausschnitt?

• Eine Reihe von Messwerten einlesen?

Was fällt auf?

• Alle Messwerte haben den denselben Datentyp

• Schleifen sind so nicht anwendbar

Eine neue Art vonDatentyp, eine ArtAnsammlung vonVariablen des selbenDatentyps wäre gut.

Page 87: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Arrays (Felder):

• Deklaration: datentyp[] variablenname;

Page 88: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Arrays (Felder):

• Deklaration: datentyp[] variablenname;

• Speicher reservieren: variablenname = new datentyp[größe];

Page 89: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Arrays (Felder):

• Deklaration: datentyp[] variablenname;

• Speicher reservieren: variablenname = new datentyp[größe];

• Arraygröße: variablenname.length

Page 90: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Arrays (Felder):

• Deklaration: datentyp[] variablenname;

• Speicher reservieren: variablenname = new datentyp[größe];

• Arraygröße: variablenname.length

• Elementzugriff: variablenname[element]

Page 91: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Arrays (Felder):

• Deklaration: datentyp[] variablenname;

• Speicher reservieren: variablenname = new datentyp[größe];

• Arraygröße: variablenname.length

• Elementzugriff: variablenname[element]

• Elemente: variablenname[0] ... variablenname[größe-1]

Page 92: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

...

int[] i_ar;

int i = 10;

i_ar = new int[20];

String[] st_ar;

st_ar = new String[i];

for (i = 0; i < st_ar.length; i ++)

st_ar[i] = in.readInt();

...

Page 93: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:

int[] wert;

int i;

wert = new int[6];

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

wert[i] = in.readInt();

Page 94: ABZaz Buchstabe Ziffer 0189 Java Syntaxdiagramme.

Informatik I : Software

Java – Programmiersprache

Beispiele:...

int[] tage_pro_monat = {31, 28, 31, 30, 31, 30,

31, 31, 30, 31, 30, 31};

int monat, tag;

boolean datum = false;

monat = in.readInt();

tag = in.readInt();

if ((monat >= 1) && (monat <= 12))

{

if ((tag >= 1) && (tag <= tage_pro_monat[monat-1]))

datum = true;

}

...