tut05_1.pdf

130
Universität Karlsruhe (TH) Forschungsuniversität · gegründet 1825

Transcript of tut05_1.pdf

Informatik I - Tutorium� Wintersemester 2007/08 �

Christian Jülg

http://infotut.blogspot.com

26. November 2007

Universität Karlsruhe (TH)Forschungsuniversität · gegründet 1825

Quellennachweis & Dank an:Susanne Dinkler, Philipp Kern, Bernhard Müller, Michael Nagel,

Joachim Wilke

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Übersicht

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betre� der Emails [08] einfügen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betre� der Emails [08] einfügen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Übungsblatt 4

Kurzer Rückblick...

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Übungsblatt 4

Kurzer Rückblick...

Fragen?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Organisatorisches

Rechnerübung

Die erste normale RÜ mit Anmeldung wird am Di, 27.11. im RZ,Pool B, statt�nden - allerdings nur wenn es Anmeldungen gibt.Anmeldung per Email oder direkt im Tut.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Organisatorisches

Info1-Schein

Der Schein kann nur noch dieses Jahr �normal� erworben werden!Im nächsten Jahr wird auf Bachelor umgestellt und die Informatik 1Vorlesung wird aufgeteilt.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

EBNF ..1 ... hilft Syntax zu formalisieren.2 ... Regeln werden mit einem Punkt abgeschlossen.3 ... Nichtterminalzeichen werden in Anführungszeichen gesetzt.

Der von-Neumansche Flaschenhals ...1 ... resultiert aus physikalischen Gegenbenheiten.2 ... spielt bei modernen Rechner keine Rolle mehr.3 ... kann nur abgeschwächt und nicht gelöst werden.

Beim Programmieren in Java ...1 ... benutze ich ausschlieÿlich englische 'Telling-Names'.2 ... kommentiere ich mittels //3 ... kommentiere ich mittels /* Kommentar */

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

EBNF ..1 ... hilft Syntax zu formalisieren.2 ... Regeln werden mit einem Punkt abgeschlossen.3 ... Nichtterminalzeichen werden in Anführungszeichen gesetzt.

Der von-Neumansche Flaschenhals ...1 ... resultiert aus physikalischen Gegenbenheiten.2 ... spielt bei modernen Rechner keine Rolle mehr.3 ... kann nur abgeschwächt und nicht gelöst werden.

Beim Programmieren in Java ...1 ... benutze ich ausschlieÿlich englische 'Telling-Names'.2 ... kommentiere ich mittels //3 ... kommentiere ich mittels /* Kommentar */

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

EBNF ..1 ... hilft Syntax zu formalisieren.2 ... Regeln werden mit einem Punkt abgeschlossen.3 ... Nichtterminalzeichen werden in Anführungszeichen gesetzt.

Der von-Neumansche Flaschenhals ...1 ... resultiert aus physikalischen Gegenbenheiten.2 ... spielt bei modernen Rechner keine Rolle mehr.3 ... kann nur abgeschwächt und nicht gelöst werden.

Beim Programmieren in Java ...1 ... benutze ich ausschlieÿlich englische 'Telling-Names'.2 ... kommentiere ich mittels //3 ... kommentiere ich mittels /* Kommentar */

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

EBNF ..1 ... hilft Syntax zu formalisieren.2 ... Regeln werden mit einem Punkt abgeschlossen.3 ... Nichtterminalzeichen werden in Anführungszeichen gesetzt.

Der von-Neumansche Flaschenhals ...1 ... resultiert aus physikalischen Gegenbenheiten.2 ... spielt bei modernen Rechner keine Rolle mehr.3 ... kann nur abgeschwächt und nicht gelöst werden.

Beim Programmieren in Java ...1 ... benutze ich ausschlieÿlich englische 'Telling-Names'.2 ... kommentiere ich mittels //3 ... kommentiere ich mittels /* Kommentar */

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Wdh. UML-Aktivitätsdiagramm

Beispiel:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Vergleich mit Java-Code

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Aktivitätsdiagramm

�wichtige�ElementeAbgerundete Rechtecke: ZuständeRauten: Verzweigungen / Zusammenführung Verzweigung

alternativ: Verzweigung durch einen Zustand

[Bedingung] für eine Verzweigungschwarz ausgefüllter Kreis: Anfangszustandschwarz ausgefüllter Kreis umrandet: Endzustand

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Operatoren

binäre Operatoren

Grundrechenarten + - * /

Modulooperator %

Alle auch als Zuweisungsoperatoren zugelassen (z.B. a += b).

unäre Operatoren

(Prä-/Post-)Inkrement ++

(Prä-/Post-)Dekrement −−Negation −

Unterschied zwischen Prä und Post beachten!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Variablentypen und implizites Casting

Ganzzahlige Variablentypen

long (64 Bit)

int (32 Bit)

short (16 Bit)

byte (8 Bit)

Bei arithmetischer Auswertung wird grundsätzlich in int gecastet.Auÿer. . .

es ist ein long in der Auswertung enthalten

man castet explizit

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Überläufe

Wenn man explizit castet, kann es zu unerwarteten Auswirkungenkommen: Wenn die Zahl nicht in den Typ passt, so wird �modulo�weitergerechnet.

Beispiele

(byte)(64*2) // -128 == 128 - 256(byte)(-129) // 127 == -129 + 256(1000000000*10) // 1410065408 == 1010 − 3 ∗ 232

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Variablen in Java

Variablen allgemein

Variablen sind Speicherzellen mit veränderlichem Inhalt.

Die Wahl des Variablentyps schränkt die Art der Daten ein, dieman ihn ihr speichern kann.

So kann ein String eine Zeichenkette fassen, während ein int

nur eine Ganzzahl von -2147483648 bis 2147483647 speichert.

Um eine Variable benutzen zu können, muss sie bekanntgemacht (deklariert) und ihr ein Anfangswert zugewiesen(initialisiert) werden.

Beispiel int test; // declares variable test

test = 0; // init test with value zero

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Variablen in Java

Datentyp

byte

short

int

long

bool

float

double

Werte

-128 bis 127

-32.768 bis 32.767

-2147483648 bis 2147483647

-9.223.372.036.854.775.808 bis

9.223.372.036.854.775.807

true oder false

Im Bereich ±10±38Im Bereich ±10±308

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Klassen

Klassen

Klassenname == Dateiname (wird erzwungen sobald Klassepublic!)

Programme bestehen (zunächst einmal) aus einer Klasse, diedas ganze Programm enthält

Jedes Programm braucht eine Klasse mit einermain()-Methode mit vorgegebener Signatur

public static void main(String[] args) {... }

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Methoden

Methoden

Auslagerung von Code

Strukturierung, Lesbarkeit, Wiederverwertbarkeit, Veri�kation

lokale Variablen

Rückgabe und Parameter

Aufbau einer Methode

Zugriff Rückgabe Name �(�Parameter �)�Code

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gegeben sei:

Listing 1: example class1 class Example {

2 static int input = 0;

3

4 static int calculate(int a) {

5 int square;

6 square = a * a;

7 return square;

8 }

9

10 static public void main(String args []) {

11 int input = In.readInt ();

12 Out.println(calculate(input));

13 }

14 } // end class Example

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifen

Ausgangspunkt

Gewisse Berechnungen sollen wiederholt ausgeführt werden.

Schleifentypen

Schleife mit Eintrittsbedingung (while-Schleife)

Schleife mit Austrittsbedingung (do-while-Schleife)

Zählschleife (for-Schleife)

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifen

Ausgangspunkt

Gewisse Berechnungen sollen wiederholt ausgeführt werden.

Schleifentypen

Schleife mit Eintrittsbedingung (while-Schleife)

Schleife mit Austrittsbedingung (do-while-Schleife)

Zählschleife (for-Schleife)

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

while-Schleife (Abweisschleife)

Beispiel

public static int pow(int base, int power){

int result = 1;

while (power- - > 0) result *= base;

return result;

}

Bemerkungen

while (<Schleifenbedingung>) <Schleifenrumpf>

als EBNF-Regel:WhileLoop = "while" "(" Expr ")" Statement.

Durch Bildung eines Blockes mittels {} können beliebig vieleAnweisungen den Schleifenrumpf bilden

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

break-Anweisung

1 int x = In.readInt ();

2 int y = In.readInt ();

3

4 while (y > 0) {

5 while (x > 0) {

6 if (x > 5) {

7 if (x == 7)

break;

8 }

9 Out.print("1");

10 x--;

11 }

12 Out.print("2");

13 y--;

14 }

15 Out.print("3");

Der Befehl break realisiert den Abbrucheines Rumpfes

einer switch-Anweisung.

einer while-Schleife.

einer for-Schleife.

eines do-Blockes.

Warum sollte man break sparsamverwenden?Was gibt das Program aus bei denEingaben 2 und 2, 7 und 3, 9 und 1?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

continue-Anweisung

1 int x = In.readInt ();

2 int y = In.readInt ();

3

4 while (y > 0) {

5 y--;

6 while (x > 0) {

7 x--;

8 if (x < 5)

continue;

9 Out.print("1");

10 }

11 Out.print("2");

12 }

13 Out.print("3");

Der Befehl continue springt direkt andas Ende des Rumpfes

einer while-Schleife.

einer for-Schleife.

eines do-Blockes.

Warum sollte man continue sparsamverwenden?Was gibt das Program aus bei denEingaben 2 und 2, 7 und 3, 9 und 1?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Welche Schleife?

Welche ist die Richtige?

Für die Iterationen in Programmen emp�ehlt sich

for wenn bereits vor dem Programmstart klar ist, wie oftdie Schleife durchlaufen werden muss.

do-while wenn die Schleife mindestens einmal durchlaufenwerden muss, um die Bedingung prüfen zu können.

while in allen anderen Fällen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifentransformation

Wandelt folgende for-Schleife in eine while-Schleife und in einedo-while-Schleife um. Verwendet dabei keine break- odercontinue-Anweisung:

int s = 0;

for (;;) {

int x = In.readInt();

if (x<0) break;

s = s + x;

}

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifentransformation

Lösung

Listing 2: while1 int s = -1;

2 int x = 1;

3

4 while (x > 0) {

5 s = s + x;

6 x = In.readInt ();

7 }

Listing 3: do-while1 int s = 0;

2 int x = 0;

3

4 do {

5 s = s + x;

6 x = In.readInt ();

7 }

8 while (x > 0);

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifentransformation

Lösung

Listing 4: while1 int s = -1;

2 int x = 1;

3

4 while (x > 0) {

5 s = s + x;

6 x = In.readInt ();

7 }

Listing 5: do-while1 int s = 0;

2 int x = 0;

3

4 do {

5 s = s + x;

6 x = In.readInt ();

7 }

8 while (x > 0);

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Schleifentransformation

Lösung

Listing 6: while1 int s = -1;

2 int x = 1;

3

4 while (x > 0) {

5 s = s + x;

6 x = In.readInt ();

7 }

Listing 7: do-while1 int s = 0;

2 int x = 0;

3

4 do {

5 s = s + x;

6 x = In.readInt ();

7 }

8 while (x > 0);

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Namen über Namen - die Konvention

In Info1 gelten folgende Konventionen für Bezeichner beimProgrammieren:

Info1-Bezeichner

alle Namen in englischer Sprache

Worttrennung durch Groÿbuchstaben z.B: getInfo

Klassen beginnen mit Groÿbuchstaben

Variablen und Methoden fangen klein an

bedeutungstragende Namen verwenden

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ein Kommentar zum Kommentar

//this is a comment

Kommentare sind sehr nützlich, um ein Programm für einenfremden Leser (Tutor) verständlich zu machen! Sinnvoll ist:

Methoden und Codeblöcke mit Information über ihre Aufgabeund Funktionsweise auszustatten.

bei Variablen auch mal dazuschreiben, wozu sie gebrauchtwerden.

wirklich �o�ensichtliches� lieber nicht kommentieren:i++; // increment i

anfangs müsst ihr noch ausführlichst kommentieren! MitVoranschreiten der Vorlesung kann man sich jedoch aufsWesentliche konzentrieren.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Bibliotheken / vorgefertigter Code

nur bereits erlaubtes!

Solange nichts anderes angegeben ist, sind alle Fremd-Klassen nichterlaubt

Die In-/Out-Klassen �müssen� für I/O verwendet werden

Insbesondere sind Funktionen/Klassen, die die gewünschteAufgabe von Haus aus lösen nicht erlaubt.

Mit der Zeit dürft ihr mehr und mehr Klassen aus derStandardbibliothek verwenden.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie groÿ sind die Wertebereiche der einzelnen Datentypen?

Was ist bei Umwandlungen zwischen den Typen zu beachten?

Wie rechne ich mit verschiedenen Datentypen? Und vonwelchem Typ ist das Ergebnis?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie groÿ sind die Wertebereiche der einzelnen Datentypen?

Was ist bei Umwandlungen zwischen den Typen zu beachten?

Wie rechne ich mit verschiedenen Datentypen? Und vonwelchem Typ ist das Ergebnis?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie groÿ sind die Wertebereiche der einzelnen Datentypen?

Was ist bei Umwandlungen zwischen den Typen zu beachten?

Wie rechne ich mit verschiedenen Datentypen? Und vonwelchem Typ ist das Ergebnis?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie groÿ sind die Wertebereiche der einzelnen Datentypen?

Was ist bei Umwandlungen zwischen den Typen zu beachten?

Wie rechne ich mit verschiedenen Datentypen? Und vonwelchem Typ ist das Ergebnis?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie groÿ sind die Wertebereiche der einzelnen Datentypen?

Was ist bei Umwandlungen zwischen den Typen zu beachten?

Wie rechne ich mit verschiedenen Datentypen? Und vonwelchem Typ ist das Ergebnis?

Ihr wisst was nicht?

Stellt jetzt Fragen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Werbung

Pause...

5 Minuten zum Entspannen und sacken lassen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

Eine Variablenzuweisung ..1 ... hat immer mindestens int oder �oat als Typ.2 ... kann den Wertebreich überschreiten.3 ... wird zu einer Flieÿkomma-Zahl bei Division.

Programmfehler...1 ... sind stets so viele enthalten, wie es Punkte für die Aufgabe

gibt.2 ... können nur syntaktisch sein.3 ... können in den Kommentaren stehen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

Eine Variablenzuweisung ..1 ... hat immer mindestens int oder �oat als Typ.2 ... kann den Wertebreich überschreiten.3 ... wird zu einer Flieÿkomma-Zahl bei Division.

Programmfehler...1 ... sind stets so viele enthalten, wie es Punkte für die Aufgabe

gibt.2 ... können nur syntaktisch sein.3 ... können in den Kommentaren stehen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Ihr seid dran - Was ist richtig?

Eine Variablenzuweisung ..1 ... hat immer mindestens int oder �oat als Typ.2 ... kann den Wertebreich überschreiten.3 ... wird zu einer Flieÿkomma-Zahl bei Division.

Programmfehler...1 ... sind stets so viele enthalten, wie es Punkte für die Aufgabe

gibt.2 ... können nur syntaktisch sein.3 ... können in den Kommentaren stehen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Lebendigkeit und Sichtbarkeit von Variablen

Variablen in Java (und den meisten anderen Programmiersprachen)sind nicht überall gleichermaÿen verwendbar. Wir unterscheidendabei zwei Eigenschaften:

Lebendigkeit Eine Variable nennt man an einer Stelle im Programmlebendig, wenn sie schon oder noch im Speicher liegt.

Sichtbarkeit Eine Variable nennt man an einer Stelle im Programmsichtbar, wenn sie an der Stelle im Code verwendbarist.

Sichtbarkeit ⇒ Lebendigkeit

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Lebendigkeit und Sichtbarkeit von Variablen

Variablen in Java (und den meisten anderen Programmiersprachen)sind nicht überall gleichermaÿen verwendbar. Wir unterscheidendabei zwei Eigenschaften:

Lebendigkeit Eine Variable nennt man an einer Stelle im Programmlebendig, wenn sie schon oder noch im Speicher liegt.

Sichtbarkeit Eine Variable nennt man an einer Stelle im Programmsichtbar, wenn sie an der Stelle im Code verwendbarist.

Sichtbarkeit ⇒ Lebendigkeit

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Beispiel

Aufgabenstellung

Geben Sie an, welche Variablen an den mit /* 1 */, /* 2 */ und/* 3 */ gekennzeichneten Stellen im folgenden Programm lebenund welche davon sichtbar sind. Begründen Sie Ihre Antwort.

Verwenden Sie für die Begründung der Sichtbarkeit die aus derVorlesung bekannte Darstellung. (Die Variable args soll nichtbeachtet werden.)

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar

bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar

xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - I

class Program {final static int result = 10;

static int bar (int a, int b) { /*3*/int x;x = a/b;return x;

}

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/return result;

}

public static void main(String[]args) {int x = 1; /*1*/int y = 2;result = foo(x, y);Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig sichtbar

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

afoo bfoo

xmainymain

xmainymain

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar

bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar

xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo

bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmain

ymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Visualisierung - II - Lebensdauer

class Program {final static int result = 10;public static void main(String[]args) {

int x = 1; /*1*/int y = 2;result = foo(x, y);

static int foo (int a, int b) {int result = (a + b) * bar(b, a); /*2*/

static int bar (int a, int b) {/*3*/int x;x = a/b;return x;

}return result;

}Out.println(result);

}}

1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:

lebendig

resultglobal

resultfoo

abar bbar xbar

afoo bfoo

xmainymain

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Lösung

es leben es sind sichtbar

/* 1 */ resultglobal , xmain, ymain resultglobal , xmain

/* 2 */ resultglobal , xmain, ymain,resultfoo , afoo , bfoo

resultfoo , afoo , bfoo

/* 3 */ resultglobal , xmain, ymain,resultfoo , afoo , bfoo , abar ,bbar , xbar

abar , bbar , xbar , resultglobal

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Sie decken einen wesentlich gröÿeren Wertebereich ab

Nachteil:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Sie decken einen wesentlich gröÿeren Wertebereich ab

Nachteil: keine �absolute� Genauigkeit

Deshalb:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Sie decken einen wesentlich gröÿeren Wertebereich ab

Nachteil: keine �absolute� Genauigkeit

Deshalb: bei Vergleichen mit �oats oder double immer mitToleranz arbeiten

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Sie decken einen wesentlich gröÿeren Wertebereich ab

Nachteil: keine �absolute� Genauigkeit

Deshalb: bei Vergleichen mit �oats oder double immer mitToleranz arbeiten

z.B. (Math.abs( nearlyNull )< 0.001) anstatt(nearlyNull == 0)

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Gleitkommazahlen

Eigenschaften

Sie decken einen wesentlich gröÿeren Wertebereich ab

Nachteil: keine �absolute� Genauigkeit

Deshalb: bei Vergleichen mit �oats oder double immer mitToleranz arbeiten

z.B. (Math.abs( nearlyNull )< 0.001) anstatt(nearlyNull == 0)

double d=1/6.0; und x = 6*d; führen zu x == 0.999999...

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied If vs. Switch

Beispiel

Sollen viele verschiedene Optionen abgefragt werden, sindif/else-Bäume fehleranfällig.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied If vs. Switch

Listing 8: switch1 class Switch{

2 public static void main(String cmd []){

3 String output;

4 switch(Integer.parseInt(cmd [0])){

5 case 123: case 42:

6 output="1234"; break;

7 default: output="0";

8 }

9 System.out.println(output);

10 }

11 }

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied If vs. Switch

Beispiel

Sollen viele verschiedene Optionen abgefragt werden, sindif/else-Bäume fehleranfällig.

wichtig:

switch kann nur auf int (und �kleinere Datentypen�)angewendet werden

immer default Option angeben

zu jedem case ein break

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied If vs. Switch

Beispiel

Sollen viele verschiedene Optionen abgefragt werden, sindif/else-Bäume fehleranfällig.

wichtig:

switch kann nur auf int (und �kleinere Datentypen�)angewendet werden

immer default Option angeben

zu jedem case ein break - auÿer ihr wisst (wirklich!) was ihrmacht..

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Las-Vegas-Algorithmen sind immer korrekt

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Las-Vegas-Algorithmen sind immer korrekt

. . . allerdings ist ihre Laufzeit zufallsabhängig

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Las-Vegas-Algorithmen sind immer korrekt

. . . allerdings ist ihre Laufzeit zufallsabhängig

Monte-Carlo Algorithmen können ein-/ oder zweiseitigfehlerbehaftet sein.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Las-Vegas-Algorithmen sind immer korrekt

. . . allerdings ist ihre Laufzeit zufallsabhängig

Monte-Carlo Algorithmen können ein-/ oder zweiseitigfehlerbehaftet sein.

Die Fehlerwahrscheinlichkeit ist aber beschränkt - Beispiel:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Monte-Carlo/Las-Vegas

De�nition

Beide Arten sind randomisierte Algorithmen, allerdings mitentscheidenden Unterschieden:

Las-Vegas-Algorithmen sind immer korrekt

. . . allerdings ist ihre Laufzeit zufallsabhängig

Monte-Carlo Algorithmen können ein-/ oder zweiseitigfehlerbehaftet sein.

Die Fehlerwahrscheinlichkeit ist aber beschränkt - Beispiel:

Algorithmus der bei Antwort �nicht prim� immer Recht hat, imanderen Fall aber in max. 10% der Fälle nicht.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Primitive Datentypen werden grundsätzlich über call-by-valuean Methoden übergeben.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Primitive Datentypen werden grundsätzlich über call-by-valuean Methoden übergeben.

⇒ die jew. Methoden erhalten nur eine Kopie des Werts

primitive Typen sind:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Primitive Datentypen werden grundsätzlich über call-by-valuean Methoden übergeben.

⇒ die jew. Methoden erhalten nur eine Kopie des Werts

primitive Typen sind: alle Typen die mit Kleinbuchstabenanfangen.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Primitive Datentypen werden grundsätzlich über call-by-valuean Methoden übergeben.

⇒ die jew. Methoden erhalten nur eine Kopie des Werts

primitive Typen sind: alle Typen die mit Kleinbuchstabenanfangen.

Alle �normalen Objekte� (Klassenname groÿgeschrieben)werden nur als Referenz übergeben

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Unterschied Call-by reference/value

De�nition

Primitive Datentypen werden grundsätzlich über call-by-valuean Methoden übergeben.

⇒ die jew. Methoden erhalten nur eine Kopie des Werts

primitive Typen sind: alle Typen die mit Kleinbuchstabenanfangen.

Alle �normalen Objekte� (Klassenname groÿgeschrieben)werden nur als Referenz übergeben

⇒ Änderungen an diesen Objekten in den Methodenverändern direkt das eigtl. Objekt!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Ein Zeichen hat dabei 2 Byte - wie der Datentyp short.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Ein Zeichen hat dabei 2 Byte - wie der Datentyp short.

der Unterschied: char ist �unsigned�.

Zur Umwandlung:

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Ein Zeichen hat dabei 2 Byte - wie der Datentyp short.

der Unterschied: char ist �unsigned�.

Zur Umwandlung: expliziter Cast!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Ein Zeichen hat dabei 2 Byte - wie der Datentyp short.

der Unterschied: char ist �unsigned�.

Zur Umwandlung: expliziter Cast!

Bsp.: char c = (char)97; und int i = (int)'a';

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Grundlage

Zeichen sind in Java mit Unicode codiert.

Ein Zeichen hat dabei 2 Byte - wie der Datentyp short.

der Unterschied: char ist �unsigned�.

Zur Umwandlung: expliziter Cast!

Bsp.: char c = (char)97; und int i = (int)'a';

die �unteren� 128 Zeichen in Java entsprechen dabei demASCII Code.

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Umwandlung Zeichen ⇔ Zahl

Listing 9: conversion1 class Conversion{

2 public static void main(String cmd []){

3 String input="A text.", output="";

4 short x = (short) input.charAt (0);

5 output += x;

6 char c = (char)x;

7 System.out.println(output+" entspricht in

ASCII "+c);

8 }

9 }

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

1 Organisatorisches

2 Übungsblatt 4

3 UML

4 Java-Grundlagen

5 Schleifen

6 Java in Info 1

7 Abschluss I

8 Wiederholung

9 Sichtbarkeit und Lebendigkeit von Variablen

10 Sonstiges

11 Abschluss IIFeedback

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegebenhat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Zum Schluss...

Was ihr nun wissen solltet!

Wie stelle ich Lebensdauer und Sichtbarkeit von Variablen dar?

Wie funktionieren die Gleitkommatypen?

Was ist der Unterschied zwischen �if� und �switch�?

Wie stelle ich fest, welches Zeichen der Benutzer eingegeben hat?

Was ist ein Monte-Carlo, was ein Las-Vegas-Algorithmus?

Was ist Call-by-Value bzw. Call-by-Reference?

Ihr wisst was nicht?

Stellt jetzt Fragen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Feedback

Dann habe ich noch eine Frage:

Wie fandet ihr dieses Tutorium?

War ich zu schnell?

Habe ich bestimmte Sachen zu kurz behandelt?

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betre� der Emails [08] einfügen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Wenn doch noch Fragen auftauchen...

Kontakt

Kontakt: [email protected]

Homepage: http://infotut.blogspot.com

bitte beachten:

Im Betre� der Emails [08] einfügen!

Informatik I - Tutorium Christian Jülg

Orga Blatt 4 UML Java-Grundlagen Schleifen Java Abschluss I Wdhlg II Sichtbar & Lebendig Sonstiges Abschluss II Ende

Informatik I - Tutorium Christian Jülg