tut05_1.pdf
-
Upload
asegovia7246 -
Category
Documents
-
view
5 -
download
0
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