<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.63.225</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.63.225"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/130.149.63.225"/>
	<updated>2026-11-01T10:53:57Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2007/Kommandohilfe&amp;diff=6975</id>
		<title>Javakurs2007/Kommandohilfe</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2007/Kommandohilfe&amp;diff=6975"/>
		<updated>2006-04-02T16:42:33Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* tar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dont Panic ==&lt;br /&gt;
&lt;br /&gt;
Du erhältst zu jedem Befehl in Unix eine ausfürliche Hilfe durch:&lt;br /&gt;
&lt;br /&gt;
* man Befehl&lt;br /&gt;
&lt;br /&gt;
oft kürzer auch mittels&lt;br /&gt;
&lt;br /&gt;
* Befehl -h&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
* Befehl --help&lt;br /&gt;
&lt;br /&gt;
Wenn das alles nichts hilft, weil du z.B. noch nicht so fit in Englisch bist, versuchs bei Google ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Die elementarsten Unixkommandos in Kürze ===&lt;br /&gt;
&lt;br /&gt;
==== cd ====&lt;br /&gt;
&lt;br /&gt;
* cd ..	# Wechsel in Mutterverzeichnis&lt;br /&gt;
* cd foo # Wechsel ins Verzeichnis foo, welches sich im aktuellen Verzeichnis befinden muss&lt;br /&gt;
* cd ../foo/bar	# Wechsel ins Verzeichnis bar, welches in foo liegt, welches im Mutterverzeichnis liegt&lt;br /&gt;
* cd ~ # Wechsel ins Homedirectory&lt;br /&gt;
&lt;br /&gt;
==== mkdir ====&lt;br /&gt;
&lt;br /&gt;
* mkdir ./foo # erzeugt das Verzeichnis foo im aktuellen Verzeichniss&lt;br /&gt;
&lt;br /&gt;
==== cp ====&lt;br /&gt;
&lt;br /&gt;
* cp source_file target_file # Kopiert source_file nach target_file&lt;br /&gt;
&lt;br /&gt;
==== mv ====&lt;br /&gt;
&lt;br /&gt;
* mv source_file target_file # Verschiebt source_file nach target_file&lt;br /&gt;
&lt;br /&gt;
==== rm ====&lt;br /&gt;
&lt;br /&gt;
* rm foo # Löscht die Datei foo&lt;br /&gt;
&lt;br /&gt;
==== rmdir ====&lt;br /&gt;
&lt;br /&gt;
* rmdir foo # Löscht das Verzeichis foo und seinen Inhalt, erfragt vor jedem Löschen Bestätigung&lt;br /&gt;
* rmdir -f foo # Löscht das Verzeichis foo und seinen Inhalt&lt;br /&gt;
&lt;br /&gt;
==== tar ====&lt;br /&gt;
(entnommen aus tar --help)&lt;br /&gt;
&lt;br /&gt;
* tar -tvf archive.tar         # List all files in archive.tar verbosely.&lt;br /&gt;
* tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.&lt;br /&gt;
* tar -xf archive.tar # Extract all files from archive.tar.&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6765</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6765"/>
		<updated>2006-03-16T16:07:55Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
;Ziel&lt;br /&gt;
:Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
&lt;br /&gt;
;Advanced&lt;br /&gt;
:mit löschen&lt;br /&gt;
&lt;br /&gt;
;Idee&lt;br /&gt;
:&amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
;Aufgaben&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Objektvariablen mit Werten. Lese diese Werte aus den Objektvariablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, der die Objektvariablen des erzeugten Objekts mit Werten füllt. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Erweitere deine Klasse um eine Methode &amp;lt;code&amp;gt;public void printMe()&amp;lt;/code&amp;gt;, die die Daten des Studentenobjekts auf dem Bildschirm ausgibt. Test deine Methode!&lt;br /&gt;
# Lege eine Feld (Array) mit 100 Studentenobjekten an, die verschiedene Matrikelnummern haben und gib all auf dem Bildschirm aus.&lt;br /&gt;
# Diese Feld ist schon eine Art Studentendatenbank. Schreibe daher eine neue Klasse &amp;lt;code&amp;gt;StudentenDatenbank&amp;lt;/code&amp;gt;, die eine Feld von Studentenobjekten enthält. Die Klasse soll einen Konsturktor haben, dem die Größe des zu erzeugenden Feldes übergeben wird. Implementiere auch eine Methode &amp;lt;code&amp;gt;printMe&amp;lt;/code&amp;gt;, die alle Datensätze ausgeben soll, sowie eine Mehtode &amp;lt;code&amp;gt;studentHinzufuegen()&amp;lt;/code&amp;gt;, die einen Studentenobjekt mit den zu übergebenen Daten anlegen soll und dieses in die Datenbank einfügen soll.&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentEntfernen()&amp;lt;/code&amp;gt;, die das Studentenobjekt mit der übergebenen Matrikelnummer aus der Datenbank löschen soll. Funktionert nach dem Löschen einiger Objekte deine Ausgabemethode (&amp;lt;code&amp;gt;printMe()&amp;lt;/code&amp;gt;) noch?&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentenAnzahl()&amp;lt;/code&amp;gt;, die die Anzahl der in der Datenbank gespeicherten Studentenobjekte zurückliefert.&lt;br /&gt;
&lt;br /&gt;
;Zeitbedarf&lt;br /&gt;
: Arthur: Aufgaben 1-5 zusammen ca. 1h&lt;br /&gt;
&lt;br /&gt;
;Fragen&lt;br /&gt;
: soll private / public thematisiert werden?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6764</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6764"/>
		<updated>2006-03-16T15:50:50Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
Ziel: Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
&lt;br /&gt;
Advanced: mit löschen&lt;br /&gt;
&lt;br /&gt;
Idee: &amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Objektvariablen mit Werten. Lese diese Werte aus den Objektvariablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, der die Objektvariablen des erzeugten Objekts mit Werten füllt. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Erweitere deine Klasse um eine Methode &amp;lt;code&amp;gt;public void printMe()&amp;lt;/code&amp;gt;, die die Daten des Studentenobjekts auf dem Bildschirm ausgibt. Test deine Methode!&lt;br /&gt;
# Lege eine Feld (Array) mit 100 Studentenobjekten an, die verschiedene Matrikelnummern haben und gib all auf dem Bildschirm aus.&lt;br /&gt;
# Diese Feld ist schon eine Art Studentendatenbank. Schreibe daher eine neue Klasse &amp;lt;code&amp;gt;StudentenDatenbank&amp;lt;/code&amp;gt;, die eine Feld von Studentenobjekten enthält. Die Klasse soll einen Konsturktor haben, dem die Größe des zu erzeugenden Feldes übergeben wird. Implementiere auch eine Methode &amp;lt;code&amp;gt;printMe&amp;lt;/code&amp;gt;, die alle Datensätze ausgeben soll, sowie eine Mehtode &amp;lt;code&amp;gt;studentHinzufuegen()&amp;lt;/code&amp;gt;, die einen Studentenobjekt mit den zu übergebenen Daten anlegen soll und dieses in die Datenbank einfügen soll.&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentEntfernen()&amp;lt;/code&amp;gt;, die das Studentenobjekt mit der übergebenen Matrikelnummer aus der Datenbank löschen soll. Funktionert nach dem Löschen einiger Objekte deine Ausgabemethode (&amp;lt;code&amp;gt;printMe()&amp;lt;/code&amp;gt;) noch?&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentenAnzahl()&amp;lt;/code&amp;gt;, die die Anzahl der in der Datenbank gespeicherten Studentenobjekte zurückliefert.&lt;br /&gt;
&lt;br /&gt;
;Zeitbedarf&lt;br /&gt;
: Arthur: Aufgaben 1-5 zusammen ca. 1h&lt;br /&gt;
&lt;br /&gt;
;Fragen&lt;br /&gt;
: soll private / public thematisiert werden?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6763</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6763"/>
		<updated>2006-03-16T15:50:11Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
Ziel: Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
&lt;br /&gt;
Advanced: mit löschen&lt;br /&gt;
&lt;br /&gt;
Idee: &amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Objektvariablen mit Werten. Lese diese Werte aus den Objektvariablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, der die Objektvariablen des erzeugten Objekts mit Werten füllt. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Erweitere deine Klasse um eine Methode &amp;lt;code&amp;gt;public void printMe()&amp;lt;/code&amp;gt;, die die Daten des Studentenobjekts auf dem Bildschirm ausgibt. Test deine Methode!&lt;br /&gt;
# Lege eine Feld (Array) mit 100 Studentenobjekten an, die verschiedene Matrikelnummern haben und gib all auf dem Bildschirm aus.&lt;br /&gt;
# Diese Feld ist schon eine Art Studentendatenbank. Schreibe daher eine neue Klasse &amp;lt;code&amp;gt;StudentenDatenbank&amp;lt;/code&amp;gt;, die eine Feld von Studentenobjekten enthält. Die Klasse soll einen Konsturktor haben, dem die Größe des zu erzeugenden Feldes übergeben wird. Implementiere auch eine Methode &amp;lt;code&amp;gt;printMe&amp;lt;/code&amp;gt;, die alle Datensätze ausgeben soll, sowie eine Mehtode &amp;lt;code&amp;gt;studentHinzufuegen()&amp;lt;/code&amp;gt;, die einen Studentenobjekt mit den zu übergebenen Daten anlegen soll und dieses in die Datenbank einfügen soll.&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentEntfernen()&amp;lt;/code&amp;gt;, die das Studentenobjekt mit der übergebenen Matrikelnummer aus der Datenbank löschen soll. Funktionert nach dem Löschen einiger Objekte deine Ausgabemethode (&amp;lt;code&amp;gt;printMe()&amp;lt;/code&amp;gt;) noch?&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentenAnzahl&amp;lt;/code&amp;gt;, die die Anzahl der in der Datenbank gespeicherten Studentenobjekte zurückliefert.&lt;br /&gt;
&lt;br /&gt;
;Zeitbedarf&lt;br /&gt;
: Arthur: Aufgaben 1-5 zusammen ca. 1h&lt;br /&gt;
&lt;br /&gt;
;Fragen&lt;br /&gt;
: soll private / public thematisiert werden?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6762</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6762"/>
		<updated>2006-03-16T15:47:46Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
Ziel: Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
&lt;br /&gt;
Advanced: mit löschen&lt;br /&gt;
&lt;br /&gt;
Idee: &amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Objektvariablen mit Werten. Lese diese Werte aus den Objektvariablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, der die Objektvariablen des erzeugten Objekts mit Werten füllt. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Erweitere deine Klasse um eine Methode &amp;lt;code&amp;gt;public void printMe()&amp;lt;/code&amp;gt;, die die Daten des Studentenobjekts auf dem Bildschirm ausgibt. Test deine Methode!&lt;br /&gt;
# Lege eine Feld (Array) mit 100 Studentenobjekten an, die verschiedene Matrikelnummern haben und gib all auf dem Bildschirm aus.&lt;br /&gt;
# Diese Feld ist schon eine Art Studentendatenbank. Schreibe daher eine neue Klasse &amp;lt;code&amp;gt;StudentenDatenbank&amp;lt;/code&amp;gt;, die eine Feld von Studentenobjekten enthält. Die Klasse soll einen Konsturktor haben, dem die Größe des zu erzeugenden Feldes übergeben wird. Implementiere auch eine Methode &amp;lt;code&amp;gt;printMe&amp;lt;/code&amp;gt;, die alle Datensätze ausgeben soll, sowie eine Mehtode &amp;lt;code&amp;gt;studentHinzufuegen()&amp;lt;/code&amp;gt;, die einen Studentenobjekt mit den zu übergebenen Daten anlegen soll und dieses in die Datenbank einfügen soll.&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentEntfernen()&amp;lt;/code&amp;gt;, die das Studentenobjekt mit der übergebenen Matrikelnummer aus der Datenbank löschen soll. Funktionert nach dem Löschen einiger Objekte deine Ausgabemethode (&amp;lt;code&amp;gt;printMe()&amp;lt;/code&amp;gt;) noch?&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentenAnzahl&amp;lt;/code&amp;gt;, die die Anzahl der in der Datenbank gespeicherten Studentenobjekte zurückliefert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(private / public ?)&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6761</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6761"/>
		<updated>2006-03-16T15:42:23Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
Ziel: Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
Advanced: mit löschen&lt;br /&gt;
Idee: &amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Objektvariablen mit Werten. Lese diese Werte aus den Objektvariablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, der die Objektvariablen des erzeugten Objekts mit Werten füllt. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Erweitere deine Klasse um eine Methode &amp;lt;code&amp;gt;public void printMe()&amp;lt;/code&amp;gt;, die die Daten des Studentenobjekts auf dem Bildschirm ausgibt. Test deine Methode!&lt;br /&gt;
# Lege eine Feld (Array) mit 100 Studentenobjekten an, die verschiedene Matrikelnummern haben und gib all auf dem Bildschirm aus.&lt;br /&gt;
# Diese Feld ist schon eine Art Studentendatenbank. Schreibe daher eine neue Klasse &amp;lt;code&amp;gt;StudentenDatenbank&amp;lt;/code&amp;gt;, die eine Feld von Studentenobjekten enthält. Die Klasse soll einen Konsturktor haben, dem die Größe des zu erzeugenden Feldes übergeben wird. Implementiere auch eine Methode &amp;lt;code&amp;gt;printMe&amp;lt;/code&amp;gt;, die alle Datensätze ausgeben soll, sowie eine Mehtode &amp;lt;code&amp;gt;studentHinzufuegen()&amp;lt;/code&amp;gt;, die einen Studentenobjekt mit den zu übergebenen Daten anlegen soll und dieses in die Datenbank einfügen soll.&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentEntfernen()&amp;lt;/code&amp;gt;, die das Studentenobjekt mit der übergebenen Matrikelnummer aus der Datenbank löschen soll. Funktionert nach dem Löschen einiger Objekte deine Ausgabemethode (&amp;lt;code&amp;gt;printMe()&amp;lt;/code&amp;gt;) noch?&lt;br /&gt;
# Erweitere die Studentendatenbank um eine Methode &amp;lt;code&amp;gt;studentenAnzahl&amp;lt;/code&amp;gt;, die die Anzahl der in der Datenbank gespeicherten Studentenobjekte zurückliefert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(private / public ?)&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6760</id>
		<title>Martin Häcker/Java Kurs/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Martin_H%C3%A4cker/Java_Kurs/Tag_2&amp;diff=6760"/>
		<updated>2006-03-16T15:09:00Z</updated>

		<summary type="html">&lt;p&gt;130.149.63.225: /* Übungsaufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;br /&gt;
&lt;br /&gt;
= LE 3: Verfeinerung Java und Klassenbibliothek =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Martin, Felix&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java / Methodik ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung und Strukturierung&#039;&#039;&#039; -- auf allen Ebenen&lt;br /&gt;
** Klassen (als Strukturen)&lt;br /&gt;
** Methoden-Kapselung: &#039;&#039;&#039;Methoden-Nachtrag&#039;&#039;&#039;&lt;br /&gt;
*** Methoden als Abstraktionsmöglichkeiten -&amp;gt; verstecken von methoden [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_Temp_43] Bringts das an der stelle?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Testen&#039;&#039;&#039;&lt;br /&gt;
** eigene assert-Funktion&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Objektorientierung&#039;&#039;&#039; (Erklärungsansatz)&lt;br /&gt;
* Objekt, Klasse erklären als: &amp;quot;Klasse&amp;quot; Mensch&lt;br /&gt;
** davon dann klonen mit bestimmten Modifikationen (augenfarbe, größe, name....)&lt;br /&gt;
** das wäre dann klasse, objekte und konstruktoraufruf&lt;br /&gt;
* Objekte / Klassen erklären als&lt;br /&gt;
** Platonische Ideen (Pferd)&lt;br /&gt;
** Tatsächliches Ding (Bruno auf dem ich jeden Dienstag in Hellersdorf reite)&lt;br /&gt;
* Objekte als Daten mit &#039;&#039;Schutzschicht&#039;&#039; Methoden aussen herum&lt;br /&gt;
** Klassen als solches erst später (quasi erst prototyp und dann klassen erklären)&lt;br /&gt;
* Ganz anderer Ansatz: Erklären über Einheiten die sich über Nachrichten gegenseitig verständigen&lt;br /&gt;
* Äquivalenz zu Funktionaler Programmierung aufmachen&lt;br /&gt;
** Constructor: Funktion die Parameter bekommt und eine Funktion zurückgibt die diese verkapselt&lt;br /&gt;
** Methoden: diese Funktion kann mit dem Namen verschiedener Methoden aufgerufen werden und wird, indem es diese ausführt, zum Objekt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probleme beim Erklären&#039;&#039;&#039;&lt;br /&gt;
* this, woher kommt das und wie verwendet man es!&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
* Selbst Klassen schreiben:&lt;br /&gt;
&lt;br /&gt;
Ziel: Kleine Studentendatenbank in der Studenten eingefügt und gesucht werden können. &lt;br /&gt;
Advanced: mit löschen&lt;br /&gt;
Idee: &amp;quot;Statistik&amp;quot; : Anzahl der Studenten, durchschnittliches Alter, bla&lt;br /&gt;
&lt;br /&gt;
1.: &lt;br /&gt;
Schreibe eine Klasse die informationen über einen Studenten speichert (....)&lt;br /&gt;
Erzeuge ein Objekt dieser Klasse, schreibe einen Wert in eine ihrer Variablen, lese ihn anschließend wieder aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
2.: &lt;br /&gt;
schreibe einen Konstructor für die Klasse Student mit welchem die Variablen des erzeugten Objektes gleich mit Werten gefüllt werden. Erzeuge mit hilfe dieses Constructors ein Objekt, lies einen seiner Werte aus und gib ihn auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
3:&lt;br /&gt;
Schreibe eine Funktion &amp;quot;PrintMe&amp;quot; die die Daten des Studentenobkektes in der Console ausgibt und teste diese.&lt;br /&gt;
&lt;br /&gt;
4:&lt;br /&gt;
Lege ein Array mit 100 Studentenobjekten an welche verschiedene Matrikelnummern haben und gib alle auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
5:&lt;br /&gt;
Verlagere das Array in eine neue Klasse StudentenDatenbank und schreibe für diese die Methoden StudentHinzufuegen und PrintMe.&lt;br /&gt;
&lt;br /&gt;
6:&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
# Schreibe eine Klasse, die Informationen wie Name, Matrikelnummer etc. über einen Studenten speichert. Erzeuge ein Objekt dieser Klasse und belege die Instanz-Variablen mit Werten. Lese diese Werte aus den Instanz-Variablen wieder aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
# Schreibe einen Konstruktor für deine Klasse, mit dem die Instanz-Variablen des erzeugten Objekts mit werten gefüllt werden. Erzeuge mit Hilfe dieses Konsturktors ein Objekt, lies seine Werte aus und gib sie auf dem Bildschirm aus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(private / public ?)&lt;br /&gt;
&lt;br /&gt;
= LE 4: Wir sind alle nur Objekte =&lt;br /&gt;
&#039;&#039;&#039;Vortragende:&#039;&#039;&#039; Arthur, Martin&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Modularisierung in Java: Klassen und Objekte&#039;&#039;&#039;&lt;br /&gt;
** Instanziierung (auch Erklärung Mehrdeutigkeit von &amp;quot;Objekt&amp;quot; für Klasse oder Instanz)&lt;br /&gt;
** Referenzen (Pointer)&lt;br /&gt;
** insb: Referenzen sind nicht Kopien&lt;br /&gt;
** Overloading  / Polymorphie&lt;br /&gt;
*** Standardmethoden: toString, equals, hash, compare&lt;br /&gt;
** Type Casting einfacher Basistypen?&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Objekte vertieft&#039;&#039;&#039;: als Ansammlung von Daten mit Methoden dazu&lt;br /&gt;
** Konstruktoren&lt;br /&gt;
** um innendrinn auswechseln zu können&lt;br /&gt;
** &#039;&#039;static&#039;&#039;&lt;br /&gt;
** Static nicht static: [http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%25_toc_%25_sec_3.1.2 Benefits of Local State]&lt;br /&gt;
** &#039;&#039;final&#039;&#039;&lt;br /&gt;
** &#039;&#039;null&#039;&#039;, &#039;&#039;new&#039;&#039;&lt;br /&gt;
** &#039;&#039;this&#039;&#039;&lt;br /&gt;
** static / instanz -&amp;gt; Ebenen modell (?)&lt;br /&gt;
&lt;br /&gt;
* Java-API: Konzept &#039;&#039;&#039;Klassenbibliothek&#039;&#039;&#039;&lt;br /&gt;
** Javadocs finden, lesen&lt;br /&gt;
* JavaDoc selber schreiben und verwenden -&amp;gt; http://www.javadocs.org&lt;br /&gt;
* Input/Output (Streams, usw.) &amp;lt;-- großer Block&lt;br /&gt;
** List, ArrayList, InputReader, BufferedReader, Scanner&lt;br /&gt;
** Collections&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
* meinPferd = deinPferd;&lt;br /&gt;
* Klassen benutzen:&lt;br /&gt;
** Input/Output üben&lt;br /&gt;
** Viele andere Klassen aus der Java-API finden und nutzen&lt;br /&gt;
** Praktische Vorgehensweise, Anleitung zum Selbstlernen, nicht so viel Vorlesung dazu&lt;br /&gt;
&lt;br /&gt;
* UtilityObjekt mit readFile(aFilename) und getUserInput(aPrompt) [http://www.cs.princeton.edu/introcs/22inout/In.java.html sowas sollte rauskommen!]&lt;br /&gt;
&lt;br /&gt;
* Menü Objekt, das sich leicht adaptieren lässt?&lt;br /&gt;
* Apfelbaum&lt;br /&gt;
 while (Apfelbaum.hatNochAepfel) {&lt;br /&gt;
        Apfel meinApfel = Apfelbaum.getApfel(); // Apfel pflücken&lt;br /&gt;
        ich.esse(meinApfel);&lt;br /&gt;
 }&lt;br /&gt;
*  Collections, Polymorphie (Apfel mit Wurm....)&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Martin_Häcker/Java_Kurs | &amp;lt;- Zurück zur Übersicht]]&lt;/div&gt;</summary>
		<author><name>130.149.63.225</name></author>
	</entry>
</feed>