<?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=10.23.42.107</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=10.23.42.107"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/10.23.42.107"/>
	<updated>2026-11-03T11:41:10Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag05&amp;diff=10928</id>
		<title>Javakurs2008/Vortrag05</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag05&amp;diff=10928"/>
		<updated>2008-04-18T11:07:24Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Video Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LE 5 (45 min), Tag 3 =&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Vortragende&#039;&#039;&#039;:  Katrin Lang, Robert Lubkoll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Was ist ein Objekt?&lt;br /&gt;
* Wie funktioniert die Java-Syntax für Objekte?&lt;br /&gt;
* Welche Fehler treten beim Programmieren mit Objekten häufig auf?&lt;br /&gt;
* Was ist Kapselung?&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
* [http://user.cs.tu-berlin.de/~langk/Objektorientierung.odp LE05.odp], 6.3 MB&lt;br /&gt;
* [http://user.cs.tu-berlin.de/~langk/Objektorientierung.pdf LE05.pdf], 7.5 MB&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/9-4-08-LE5.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/9-4-08-LE5-LQ.mkv Low Quality] (50MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://stan.freitagsrunde.org/j8/9-4-08-LE5-HQ.mkv High Quality] (??MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&amp;lt;/del&amp;gt; &amp;lt;i&amp;gt;comming soon...&amp;lt;/i&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/9-4-08-LE5-UHQ.avi Ultra High Quality] (1200MB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorgaben/le05/Human.java Human.java]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorgaben/le05/Testprogramm_Human.java Testprogramm_Human.java]&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag04&amp;diff=10879</id>
		<title>Javakurs2008/Vortrag04</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag04&amp;diff=10879"/>
		<updated>2008-04-18T11:04:33Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Video Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LE 4 (45 min), Tag 3 =&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Vortragende&#039;&#039;&#039;: Robert Lubkoll, Daniel Käs&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
* Wie bearbeiten geübte Programmierer eine Aufgabenstellung ?&lt;br /&gt;
* Wo fange ich mit dem Schreiben eines Programms an ?&lt;br /&gt;
* Wie behalte ich den Überblick in meinem Code ?&lt;br /&gt;
* Warum ist cooler Code schlechter Code ?&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
[http://www.freitagsrunde.org/docs/javakurs/2008/vorlesungen/LE04.pdf LE04.pdf]&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/9-4-08-LE4.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/9-4-08-LE4-LQ.mkv Low Quality] (35MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://stan.freitagsrunde.org/j8/9-4-08-LE4-HQ.mkv High Quality] (??MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&amp;lt;/del&amp;gt; &amp;lt;i&amp;gt;comming soon...&amp;lt;/i&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/9-4-08-LE4-UHQ.avi Ultra High Quality] (678MB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10947</id>
		<title>Javakurs2008/Vortrag03</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10947"/>
		<updated>2008-04-18T10:59:41Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Video Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Methoden, Java API, Namensgebung, Testen, Debuggen =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Kai Dietrich&#039;&#039;&#039; &amp;lt;kai freitagsrunde.org&amp;gt;, &#039;&#039;&#039;Nadim El Sayed&#039;&#039;&#039; &amp;lt;thenado at cs tu berlin de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.odp animierte Version] (odp)&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.pdf print-Version] (pdf)&lt;br /&gt;
&lt;br /&gt;
== Audio Podcast ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/8-4-08-LE3.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/8-4-08-LE3-LQ.mkv Low Quality] (55MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://stan.freitagsrunde.org/j8/8-4-08-LE3-HQ.mkv High Quality] (??MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&amp;lt;/del&amp;gt; &amp;lt;i&amp;gt;comming soon...&amp;lt;/i&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/8-4-08-LE3-UHQ.avi Ultra High Quality] (888MB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen &amp;quot;Methoden&amp;quot; und gehören zu Klassen (mehr dazu in LE5 und LE6).&lt;br /&gt;
Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine &#039;&#039;return&#039;&#039; Anweisung erreicht.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden ein paar Syntax-Beispiele:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//Methodenbeispiel (Syntax und konkret)&lt;br /&gt;
class SomeClassname {&lt;br /&gt;
&lt;br /&gt;
  //berechnet ... aus ... und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;RückgabeTyp&amp;gt; methodenName1( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2,... ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //fügt ... in ... ein und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;Rückgabetyp&amp;gt; methodenName2( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2 ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //jetzt als konkretes Beispiel&lt;br /&gt;
  &lt;br /&gt;
  //berechnet die exp&#039;te potenz von base&lt;br /&gt;
  public static double pow(int base, int exp) {&lt;br /&gt;
    //... insert code here&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein.&lt;br /&gt;
&lt;br /&gt;
Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6).&lt;br /&gt;
Call-by-Value (also die Übergabe der Parameter als Kopie) wird von Java bei primitiven Datentypen durchgeführt. Primitive Datentypen sind, vereinfacht gesagt, alle Datentypen, die nur genau einen Wert enthalten. Der Datentype &#039;&#039;int&#039;&#039; z.B. enthällt nur genau eine Zahl, mehr nicht. &#039;&#039;double&#039;&#039;, &#039;&#039;float&#039;&#039;, usw. verhalten sich genauso. &#039;&#039;String&#039;&#039; dagegen enthällt mehrere Zeichen, nämlich beliebig viele Buchstaben, und gehört damit zu den komplexen Datentypen. Ebenso alle Arrays, auch Arrays von primitiven Datentypen -- sie enthalten nun ja auch mehr als ein Element.&lt;br /&gt;
&lt;br /&gt;
=== Java API ===&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist eine Dokumentation der eingebauten Funktionalität der Java Virtual Machine. Sie stellt eine Abbildung der Namen der Klassen und Methoden auf eine Beschreibung ihrer Funktionalität dar. Die umgekehrte Frage, also ein Weg von einer Beschreibung der Funktionalität zur entsprechenden Methode oder Klasse beantwortet die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] nur schlecht.&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist nach Packages und Klassen gegliedert. Was das ist, wird in LE5 und LE6 (hoffentlich) klar.&lt;br /&gt;
&lt;br /&gt;
Die Webseite [http://www.javadocs.org www.javadocs.org] kürzt die Suche nach der richtige Klasse etwas ab und ist auch als Firefox Search-Plugin verfügbar.&lt;br /&gt;
&lt;br /&gt;
Wer tiefer in den mitgelieferten Funktionsumfang von Java einsteigen möchte, der kann auf der Sun-Seite einfach [http://java.sun.com/j2se/1.5.0/docs/ eine Verzeichniseben höher gehen] und gelangt auf eine [http://java.sun.com/j2se/1.5.0/docs/ Übersichtsseite] die viele [http://java.sun.com/j2se/1.5.0/docs/#demos Tutorials], eine [http://java.sun.com/j2se/1.5.0/search.html Suchfunktion] und andere Lernmittel liefert.&lt;br /&gt;
&lt;br /&gt;
Ausserdem sei hier noch auf die freie Literatur [http://www.galileocomputing.de/openbook/javainsel5/ &amp;quot;Java ist auch eine Insel&amp;quot;] und [http://www.codeguru.com/java/tij/tij_c.shtml &amp;quot;Thinking in Java&amp;quot;] verwiesen.&lt;br /&gt;
&lt;br /&gt;
=== Namensgebung ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Testen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Debuggen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag02&amp;diff=10916</id>
		<title>Javakurs2008/Vortrag02</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag02&amp;diff=10916"/>
		<updated>2008-04-18T10:54:25Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Schleifen und Arrays =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Robert Buchholz&#039;&#039;&#039; &amp;lt;rbu freitagsrunde.org&amp;gt; und &#039;&#039;&#039;Sebastian Dyroff&#039;&#039;&#039; &amp;lt;sdyroff freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE2-SchleifenArrays_print.pdf Druckversion] (pdf)&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE2-SchleifenArrays_view.pdf Animierte Version] (pdf)&lt;br /&gt;
* TODO: Keynote-Quellen (zip)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE2.flv|width=720|height=576&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE2-LQ.mkv Low Quality] (40MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://stan.freitagsrunde.org/j8/7-4-08-LE2-HQ.mkv High Quality] (??MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&amp;lt;/del&amp;gt; &amp;lt;i&amp;gt;comming soon...&amp;lt;/i&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE2-UHQ.avi Ultra High Quality] (777MB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== Schleifen ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
while(bedingungDieTrueErgibt()) {&lt;br /&gt;
    tuEtwas();&lt;br /&gt;
}&lt;br /&gt;
int [] zahlen = new int[100]; // Indizes des Arrays sind 0 bis 99 !&lt;br /&gt;
for(int i = 0; i &amp;lt; zahlen.length; i = i + 1) {&lt;br /&gt;
    zahlen[i] = i;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Arten von Schleifen, die while-Schleife, die hervorragend geeignet ist, wenn man etwas so lange wiederholen möchte bis eine Bedingung zutrifft, und die for-Schleife, mit der man hervorragend alle Werte in einem Array durchgehen kann.&lt;br /&gt;
&lt;br /&gt;
while-Schleifen schreibt man so:&lt;br /&gt;
* zuerst &#039;&#039;while&#039;&#039; und in runden Klammern dahinter die Bedingung. Das kann ein Ausdruck wie &#039;&#039;i &amp;lt; 10&#039;&#039; sein, oder eine Methode wie &#039;&#039;problemGelösst()&#039;&#039; oder &#039;&#039;nochAnDerArbeit()&#039;&#039;&lt;br /&gt;
* Danach in geschweiften Klammern der Inhalt (Body) der Schleife.&lt;br /&gt;
&lt;br /&gt;
for-Schleifen schreibt man so:&lt;br /&gt;
* zuerst &#039;&#039;for&#039;&#039;, dann in runden Klammern drei Anweisungen, jeweils mit Semikolon getrennt: Variablen-Initialisierung, Schleifenbedingung und Weitersetzung der Schleifenvariablen. Sehr oft sieht das sehr ähnlich zu dem Beispiel oben aus.&lt;br /&gt;
* danach auch wieder in geschweiften Klammern die Anweisungen, die wiederholt werden sollen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
int [] vieleInteger = new int [1000];&lt;br /&gt;
double [] wenigGleitkommazahlen;&lt;br /&gt;
wenigGleitkommazahlen = new double[10];&lt;br /&gt;
int anzahl = 42;&lt;br /&gt;
String [] antwort = new String[anzahl];&lt;br /&gt;
&lt;br /&gt;
antwort[3] = &amp;quot;Arthur Dent&amp;quot;;&lt;br /&gt;
String name = antwort[3];&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrays sind eine Möglichkeit, viele Werte vom gleichen Typ zu haben. Man schreibt:&lt;br /&gt;
* zuerst den Typ der einzelnen Werte: &#039;&#039;int&#039;&#039;, &#039;&#039;double&#039;&#039;, &#039;&#039;boolean&#039;&#039; oder &#039;&#039;String&#039;&#039;&lt;br /&gt;
* dann ein paar eckige Klammern &#039;&#039;[]&#039;&#039;&lt;br /&gt;
* dann den Namen des Arrays, wobei wieder die normale Namenskonvention, CamelCase mit erstem Buchstaben klein, gilt.&lt;br /&gt;
&lt;br /&gt;
Initialisieren kann man diese Variablen entweder gleich oder später - je nachdem was besser passt. Dazu&lt;br /&gt;
* weist man mit &#039;&#039;=&#039;&#039; den Wert zu, den man von &#039;&#039;new&#039;&#039; zurückbekommt.&lt;br /&gt;
* &#039;&#039;new&#039;&#039; verwendet man so, dass man immer dahinter den Typ der Variablen wiederholt, allerdings schreibt man jetzt in die eckigen Klammern hinein, wie viel Elemente man benötigt - das kann aber auch eine Variable vom Typ &#039;&#039;int&#039;&#039; sein.&lt;br /&gt;
&lt;br /&gt;
Zugreifen kann man auf die Elemente eines Arrays mit der &#039;&#039;[]&#039;&#039; Syntax mit &#039;&#039;einArray[nummer]&#039;&#039; kann man auf die einzelnen Werte sowohl zugreifen als auch ihnen Werte zuweisen.&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag01&amp;diff=10872</id>
		<title>Javakurs2008/Vortrag01</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag01&amp;diff=10872"/>
		<updated>2008-04-18T10:52:36Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hello World =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Milan Mehner&#039;&#039;&#039; &amp;lt;mmehner cs.tu-berlin.de&amp;gt; und &#039;&#039;&#039;[[Benutzer:Felixf | Felix Friedrich]]&#039;&#039;&#039; &amp;lt;felixf freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
* Organisatorisches&lt;br /&gt;
* HelloWorld&lt;br /&gt;
* Wie wird ein iteratives Programm verarbeitet?&lt;br /&gt;
* Variablen&lt;br /&gt;
** Deklaration und Zuweisung&lt;br /&gt;
** wichtige Basistypen&lt;br /&gt;
* Fallunterscheidungen&lt;br /&gt;
* Blöcke und Einrückung&lt;br /&gt;
* Kommentare&lt;br /&gt;
* compilieren und ausführen&lt;br /&gt;
* Fehlermeldungen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE1-HelloWorld.pdf LE1-HelloWorld.pdf], mit Bildern, 29 MB&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE1-HelloWorld-nopics.pdf LE1-HelloWorld-nopics.pdf], ohne Bilder, 224 KB&lt;br /&gt;
&lt;br /&gt;
=== Mitschnitt ===&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE1.flv|width=480|height=360&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE1-LQ.mkv Low Quality] (30MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://stan.freitagsrunde.org/j8/7-4-08-LE1-HQ.mkv High Quality] (??MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&amp;lt;/del&amp;gt; &amp;lt;i&amp;gt;comming soon...&amp;lt;/i&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE1-UHQ.avi Ultra High Quality] (666MB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag02&amp;diff=10915</id>
		<title>Javakurs2008/Vortrag02</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag02&amp;diff=10915"/>
		<updated>2008-04-18T10:35:42Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Mitschnitt */  fix MovieLink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Schleifen und Arrays =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Robert Buchholz&#039;&#039;&#039; &amp;lt;rbu freitagsrunde.org&amp;gt; und &#039;&#039;&#039;Sebastian Dyroff&#039;&#039;&#039; &amp;lt;sdyroff freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE2-SchleifenArrays_print.pdf Druckversion] (pdf)&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE2-SchleifenArrays_view.pdf Animierte Version] (pdf)&lt;br /&gt;
* TODO: Keynote-Quellen (zip)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE2.flv|width=720|height=576&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== Schleifen ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
while(bedingungDieTrueErgibt()) {&lt;br /&gt;
    tuEtwas();&lt;br /&gt;
}&lt;br /&gt;
int [] zahlen = new int[100]; // Indizes des Arrays sind 0 bis 99 !&lt;br /&gt;
for(int i = 0; i &amp;lt; zahlen.length; i = i + 1) {&lt;br /&gt;
    zahlen[i] = i;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Arten von Schleifen, die while-Schleife, die hervorragend geeignet ist, wenn man etwas so lange wiederholen möchte bis eine Bedingung zutrifft, und die for-Schleife, mit der man hervorragend alle Werte in einem Array durchgehen kann.&lt;br /&gt;
&lt;br /&gt;
while-Schleifen schreibt man so:&lt;br /&gt;
* zuerst &#039;&#039;while&#039;&#039; und in runden Klammern dahinter die Bedingung. Das kann ein Ausdruck wie &#039;&#039;i &amp;lt; 10&#039;&#039; sein, oder eine Methode wie &#039;&#039;problemGelösst()&#039;&#039; oder &#039;&#039;nochAnDerArbeit()&#039;&#039;&lt;br /&gt;
* Danach in geschweiften Klammern der Inhalt (Body) der Schleife.&lt;br /&gt;
&lt;br /&gt;
for-Schleifen schreibt man so:&lt;br /&gt;
* zuerst &#039;&#039;for&#039;&#039;, dann in runden Klammern drei Anweisungen, jeweils mit Semikolon getrennt: Variablen-Initialisierung, Schleifenbedingung und Weitersetzung der Schleifenvariablen. Sehr oft sieht das sehr ähnlich zu dem Beispiel oben aus.&lt;br /&gt;
* danach auch wieder in geschweiften Klammern die Anweisungen, die wiederholt werden sollen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
int [] vieleInteger = new int [1000];&lt;br /&gt;
double [] wenigGleitkommazahlen;&lt;br /&gt;
wenigGleitkommazahlen = new double[10];&lt;br /&gt;
int anzahl = 42;&lt;br /&gt;
String [] antwort = new String[anzahl];&lt;br /&gt;
&lt;br /&gt;
antwort[3] = &amp;quot;Arthur Dent&amp;quot;;&lt;br /&gt;
String name = antwort[3];&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrays sind eine Möglichkeit, viele Werte vom gleichen Typ zu haben. Man schreibt:&lt;br /&gt;
* zuerst den Typ der einzelnen Werte: &#039;&#039;int&#039;&#039;, &#039;&#039;double&#039;&#039;, &#039;&#039;boolean&#039;&#039; oder &#039;&#039;String&#039;&#039;&lt;br /&gt;
* dann ein paar eckige Klammern &#039;&#039;[]&#039;&#039;&lt;br /&gt;
* dann den Namen des Arrays, wobei wieder die normale Namenskonvention, CamelCase mit erstem Buchstaben klein, gilt.&lt;br /&gt;
&lt;br /&gt;
Initialisieren kann man diese Variablen entweder gleich oder später - je nachdem was besser passt. Dazu&lt;br /&gt;
* weist man mit &#039;&#039;=&#039;&#039; den Wert zu, den man von &#039;&#039;new&#039;&#039; zurückbekommt.&lt;br /&gt;
* &#039;&#039;new&#039;&#039; verwendet man so, dass man immer dahinter den Typ der Variablen wiederholt, allerdings schreibt man jetzt in die eckigen Klammern hinein, wie viel Elemente man benötigt - das kann aber auch eine Variable vom Typ &#039;&#039;int&#039;&#039; sein.&lt;br /&gt;
&lt;br /&gt;
Zugreifen kann man auf die Elemente eines Arrays mit der &#039;&#039;[]&#039;&#039; Syntax mit &#039;&#039;einArray[nummer]&#039;&#039; kann man auf die einzelnen Werte sowohl zugreifen als auch ihnen Werte zuweisen.&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag05&amp;diff=10927</id>
		<title>Javakurs2008/Vortrag05</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag05&amp;diff=10927"/>
		<updated>2008-04-11T12:58:39Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: add video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LE 5 (45 min), Tag 3 =&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Vortragende&#039;&#039;&#039;:  Katrin Lang, Robert Lubkoll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Was ist ein Objekt?&lt;br /&gt;
* Wie funktioniert die Java-Syntax für Objekte?&lt;br /&gt;
* Welche Fehler treten beim Programmieren mit Objekten häufig auf?&lt;br /&gt;
* Was ist Kapselung?&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
* [http://user.cs.tu-berlin.de/~langk/Objektorientierung.odp LE05.odp], 6.3 MB&lt;br /&gt;
* [http://user.cs.tu-berlin.de/~langk/Objektorientierung.pdf LE05.pdf], 7.5 MB&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/9-4-08-LE5.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorgaben/le05/Human.java Human.java]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorgaben/le05/Testprogramm_Human.java Testprogramm_Human.java]&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag04&amp;diff=10878</id>
		<title>Javakurs2008/Vortrag04</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag04&amp;diff=10878"/>
		<updated>2008-04-10T13:13:40Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: add video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LE 4 (45 min), Tag 3 =&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Vortragende&#039;&#039;&#039;: Robert Lubkoll, Daniel Käs&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
* Wie bearbeiten geübte Programmierer eine Aufgabenstellung ?&lt;br /&gt;
* Wo fange ich mit dem Schreiben eines Programms an ?&lt;br /&gt;
* Wie behalte ich den Überblick in meinem Code ?&lt;br /&gt;
* Warum ist cooler Code schlechter Code ?&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
[http://www.freitagsrunde.org/docs/javakurs/2008/vorlesungen/LE04.pdf LE04.pdf]&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/9-4-08-LE4.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10946</id>
		<title>Javakurs2008/Vortrag03</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10946"/>
		<updated>2008-04-10T09:43:15Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Video Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Methoden, Java API, Namensgebung, Testen, Debuggen =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Kai Dietrich&#039;&#039;&#039; &amp;lt;kai freitagsrunde.org&amp;gt;, &#039;&#039;&#039;Nadim El Sayed&#039;&#039;&#039; &amp;lt;thenado at cs tu berlin de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.odp animierte Version] (odp)&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.pdf print-Version] (pdf)&lt;br /&gt;
&lt;br /&gt;
== Audio Podcast ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/8-4-08-LE3.flv|width=640|height=512&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen &amp;quot;Methoden&amp;quot; und gehören zu Klassen (mehr dazu in LE5 und LE6).&lt;br /&gt;
Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine &#039;&#039;return&#039;&#039; Anweisung erreicht.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden ein paar Syntax-Beispiele:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//Methodenbeispiel (Syntax und konkret)&lt;br /&gt;
class SomeClassname {&lt;br /&gt;
&lt;br /&gt;
  //berechnet ... aus ... und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;RückgabeTyp&amp;gt; methodenName1( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2,... ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //fügt ... in ... ein und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;Rückgabetyp&amp;gt; methodenName2( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2 ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //jetzt als konkretes Beispiel&lt;br /&gt;
  &lt;br /&gt;
  //berechnet die exp&#039;te potenz von base&lt;br /&gt;
  public static double pow(int base, int exp) {&lt;br /&gt;
    //... insert code here&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein.&lt;br /&gt;
&lt;br /&gt;
Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6).&lt;br /&gt;
Call-by-Value (also die Übergabe der Parameter als Kopie) wird von Java bei primitiven Datentypen durchgeführt. Primitive Datentypen sind, vereinfacht gesagt, alle Datentypen, die nur genau einen Wert enthalten. Der Datentype &#039;&#039;int&#039;&#039; z.B. enthällt nur genau eine Zahl, mehr nicht. &#039;&#039;double&#039;&#039;, &#039;&#039;float&#039;&#039;, usw. verhalten sich genauso. &#039;&#039;String&#039;&#039; dagegen enthällt mehrere Zeichen, nämlich beliebig viele Buchstaben, und gehört damit zu den komplexen Datentypen. Ebenso alle Arrays, auch Arrays von primitiven Datentypen -- sie enthalten nun ja auch mehr als ein Element.&lt;br /&gt;
&lt;br /&gt;
=== Java API ===&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist eine Dokumentation der eingebauten Funktionalität der Java Virtual Machine. Sie stellt eine Abbildung der Namen der Klassen und Methoden auf eine Beschreibung ihrer Funktionalität dar. Die umgekehrte Frage, also ein Weg von einer Beschreibung der Funktionalität zur entsprechenden Methode oder Klasse beantwortet die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] nur schlecht.&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist nach Packages und Klassen gegliedert. Was das ist, wird in LE5 und LE6 (hoffentlich) klar.&lt;br /&gt;
&lt;br /&gt;
Die Webseite [http://www.javadocs.org www.javadocs.org] kürzt die Suche nach der richtige Klasse etwas ab und ist auch als Firefox Search-Plugin verfügbar.&lt;br /&gt;
&lt;br /&gt;
Wer tiefer in den mitgelieferten Funktionsumfang von Java einsteigen möchte, der kann auf der Sun-Seite einfach [http://java.sun.com/j2se/1.5.0/docs/ eine Verzeichniseben höher gehen] und gelangt auf eine [http://java.sun.com/j2se/1.5.0/docs/ Übersichtsseite] die viele [http://java.sun.com/j2se/1.5.0/docs/#demos Tutorials], eine [http://java.sun.com/j2se/1.5.0/search.html Suchfunktion] und andere Lernmittel liefert.&lt;br /&gt;
&lt;br /&gt;
Ausserdem sei hier noch auf die freie Literatur [http://www.galileocomputing.de/openbook/javainsel5/ &amp;quot;Java ist auch eine Insel&amp;quot;] und [http://www.codeguru.com/java/tij/tij_c.shtml &amp;quot;Thinking in Java&amp;quot;] verwiesen.&lt;br /&gt;
&lt;br /&gt;
=== Namensgebung ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Testen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Debuggen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10942</id>
		<title>Javakurs2008/Vortrag03</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Vortrag03&amp;diff=10942"/>
		<updated>2008-04-09T08:37:37Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: /* Video Mitschnitt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Methoden, Java API, Namensgebung, Testen, Debuggen =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &#039;&#039;&#039;Kai Dietrich&#039;&#039;&#039; &amp;lt;kai freitagsrunde.org&amp;gt;, &#039;&#039;&#039;Nadim El Sayed&#039;&#039;&#039; &amp;lt;thenado at cs tu berlin de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.odp animierte Version] (odp)&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2008/vorlesungen/LE3_public_version.pdf print-Version] (pdf)&lt;br /&gt;
&lt;br /&gt;
== Audio Podcast ==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Video Mitschnitt ==&lt;br /&gt;
&amp;lt;i&amp;gt; An NoScript-Nutzer: Um folgendes Flash-Video zu sehen, muesst ihr dreamhost.com zulassen! &amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;file=8-4-08L.flv|width=720|height=576|path=http://stan.freitagsrunde.org/j8/&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen &amp;quot;Methoden&amp;quot; und gehören zu Klassen (mehr dazu in LE5 und LE6).&lt;br /&gt;
Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine &#039;&#039;return&#039;&#039; Anweisung erreicht.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden ein paar Syntax-Beispiele:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
//Methodenbeispiel (Syntax und konkret)&lt;br /&gt;
class SomeClassname {&lt;br /&gt;
&lt;br /&gt;
  //berechnet ... aus ... und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;RückgabeTyp&amp;gt; methodenName1( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2,... ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //fügt ... in ... ein und gibt ... zurück&lt;br /&gt;
  public static &amp;lt;Rückgabetyp&amp;gt; methodenName2( &amp;lt;Typ&amp;gt; paraMeter1, &amp;lt;Typ&amp;gt; paraMeter2 ) {&lt;br /&gt;
    //do something fancy here&lt;br /&gt;
&lt;br /&gt;
    return &amp;lt;Ausdruck vom Typ &amp;quot;Rückgabetyp&amp;quot;&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //jetzt als konkretes Beispiel&lt;br /&gt;
  &lt;br /&gt;
  //berechnet die exp&#039;te potenz von base&lt;br /&gt;
  public static double pow(int base, int exp) {&lt;br /&gt;
    //... insert code here&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein.&lt;br /&gt;
&lt;br /&gt;
Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6).&lt;br /&gt;
Call-by-Value (also die Übergabe der Parameter als Kopie) wird von Java bei primitiven Datentypen durchgeführt. Primitive Datentypen sind, vereinfacht gesagt, alle Datentypen, die nur genau einen Wert enthalten. Der Datentype &#039;&#039;int&#039;&#039; z.B. enthällt nur genau eine Zahl, mehr nicht. &#039;&#039;double&#039;&#039;, &#039;&#039;float&#039;&#039;, usw. verhalten sich genauso. &#039;&#039;String&#039;&#039; dagegen enthällt mehrere Zeichen, nämlich beliebig viele Buchstaben, und gehört damit zu den komplexen Datentypen. Ebenso alle Arrays, auch Arrays von primitiven Datentypen -- sie enthalten nun ja auch mehr als ein Element.&lt;br /&gt;
&lt;br /&gt;
=== Java API ===&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist eine Dokumentation der eingebauten Funktionalität der Java Virtual Machine. Sie stellt eine Abbildung der Namen der Klassen und Methoden auf eine Beschreibung ihrer Funktionalität dar. Die umgekehrte Frage, also ein Weg von einer Beschreibung der Funktionalität zur entsprechenden Methode oder Klasse beantwortet die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] nur schlecht.&lt;br /&gt;
Die [http://java.sun.com/j2se/1.5.0/docs/api/ Java API] ist nach Packages und Klassen gegliedert. Was das ist, wird in LE5 und LE6 (hoffentlich) klar.&lt;br /&gt;
&lt;br /&gt;
Die Webseite [http://www.javadocs.org www.javadocs.org] kürzt die Suche nach der richtige Klasse etwas ab und ist auch als Firefox Search-Plugin verfügbar.&lt;br /&gt;
&lt;br /&gt;
Wer tiefer in den mitgelieferten Funktionsumfang von Java einsteigen möchte, der kann auf der Sun-Seite einfach [http://java.sun.com/j2se/1.5.0/docs/ eine Verzeichniseben höher gehen] und gelangt auf eine [http://java.sun.com/j2se/1.5.0/docs/ Übersichtsseite] die viele [http://java.sun.com/j2se/1.5.0/docs/#demos Tutorials], eine [http://java.sun.com/j2se/1.5.0/search.html Suchfunktion] und andere Lernmittel liefert.&lt;br /&gt;
&lt;br /&gt;
Ausserdem sei hier noch auf die freie Literatur [http://www.galileocomputing.de/openbook/javainsel5/ &amp;quot;Java ist auch eine Insel&amp;quot;] und [http://www.codeguru.com/java/tij/tij_c.shtml &amp;quot;Thinking in Java&amp;quot;] verwiesen.&lt;br /&gt;
&lt;br /&gt;
=== Namensgebung ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Testen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Debuggen ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9317</id>
		<title>Kommunikationsnetze</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9317"/>
		<updated>2008-02-08T15:44:23Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
=== Klausuren ===&lt;br /&gt;
WS 1999&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_blockklausur_ws_1999.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
2001 - 2006&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_klausurmaterial.pdf Klausuren]&lt;br /&gt;
&lt;br /&gt;
SS 2006:&lt;br /&gt;
*[[Telekommunikationsnetze UEKlausurSoSe06|Gedächtnisprotokoll UE-Klausur]]&lt;br /&gt;
&lt;br /&gt;
SS 2007&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/kn_pr_ss2007.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
* Mehr Klausuren [[Freitagsrunde|auf Nachfrage]]&lt;br /&gt;
&#039;&#039;&#039;Kommunikationsnetze&#039;&#039;&#039; ist eine [[Basisveranstaltung]] im [[Hauptstudium|Informatik-Hauptstudium]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Vorlesung==&lt;br /&gt;
Bei der Vorlesung ist es hilfreich, die in der VL angesprochenen Themen in einschlägigen Werken nachzuschlagen und auswendig zu lernen. &lt;br /&gt;
&lt;br /&gt;
==Übung==&lt;br /&gt;
Die Übungsklausur lässt sich sehr gut bewältigen, wenn alle Übungblätter verstanden und nachvollzogen worden sind.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.tkn.tu-berlin.de/curricula/ Telekommunikationsnetze (alle Kurse des Fachgebietes)]&lt;br /&gt;
&lt;br /&gt;
== Tipps und persönliche Kommentare ==&lt;br /&gt;
: (Nicht unterschriebene Kommentare werden gelöscht!)&lt;br /&gt;
&lt;br /&gt;
* Man sollte sich überlegen, ob man das Fachgebiet Telekommunikationsnetze überhaupt anfängt. Die Kurse Kommunikationsnetze Praktikum und Übung sind zwar beide ok, aber bei dem Basiskurs schlechthin, nämlich der Vorlesung, geht&#039;s schon los: Prof. Wolisz ist zwar in der VL engagiert, kümmert sich sonst aber nicht um seine Studenten. Stattdessen überlässt er ihnen für die hammerharte Klausur nur ein paar Folien, die aus sich selbst heraus überhaupt nicht verständlich sind (zwei Bücher muss man sich fürs Lernen schon mindestens ausleihen) und stofflich mit der Klausur nicht gut zusammenpassen. Mehrere Wochen Lernen sind allein zum Bestehen Minimum; vielleicht einen Monat, wenn die Note gut sein soll. (Dabei meine ich intensives Lernen und nicht nur drei oder vier Stunden täglich.) Lohnt sich alles in allem nicht unbedingt, es gibt bessere Informatikfachgebiete -- Koyaanisqatsi 13:40, 6. Feb. 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lehrveranstaltungen]]&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie:Meta:TODO]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9316</id>
		<title>Kommunikationsnetze</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9316"/>
		<updated>2008-02-08T15:44:12Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
=== Klausuren ===&lt;br /&gt;
WS 1999&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_blockklausur_ws_1999.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
2001 - 2006&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_klausurmaterial.pdf Klausuren]&lt;br /&gt;
&lt;br /&gt;
SS 2006:&lt;br /&gt;
*[[Telekommunikationsnetze UEKlausurSoSe06|Gedächtnisprotokoll UE-Klausur]]&lt;br /&gt;
&lt;br /&gt;
SS 2007&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/kn_pr_ss2007.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Mehr Klausuren [[Freitagsrunde|auf Nachfrage]]&lt;br /&gt;
&#039;&#039;&#039;Kommunikationsnetze&#039;&#039;&#039; ist eine [[Basisveranstaltung]] im [[Hauptstudium|Informatik-Hauptstudium]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Vorlesung==&lt;br /&gt;
Bei der Vorlesung ist es hilfreich, die in der VL angesprochenen Themen in einschlägigen Werken nachzuschlagen und auswendig zu lernen. &lt;br /&gt;
&lt;br /&gt;
==Übung==&lt;br /&gt;
Die Übungsklausur lässt sich sehr gut bewältigen, wenn alle Übungblätter verstanden und nachvollzogen worden sind.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.tkn.tu-berlin.de/curricula/ Telekommunikationsnetze (alle Kurse des Fachgebietes)]&lt;br /&gt;
&lt;br /&gt;
== Tipps und persönliche Kommentare ==&lt;br /&gt;
: (Nicht unterschriebene Kommentare werden gelöscht!)&lt;br /&gt;
&lt;br /&gt;
* Man sollte sich überlegen, ob man das Fachgebiet Telekommunikationsnetze überhaupt anfängt. Die Kurse Kommunikationsnetze Praktikum und Übung sind zwar beide ok, aber bei dem Basiskurs schlechthin, nämlich der Vorlesung, geht&#039;s schon los: Prof. Wolisz ist zwar in der VL engagiert, kümmert sich sonst aber nicht um seine Studenten. Stattdessen überlässt er ihnen für die hammerharte Klausur nur ein paar Folien, die aus sich selbst heraus überhaupt nicht verständlich sind (zwei Bücher muss man sich fürs Lernen schon mindestens ausleihen) und stofflich mit der Klausur nicht gut zusammenpassen. Mehrere Wochen Lernen sind allein zum Bestehen Minimum; vielleicht einen Monat, wenn die Note gut sein soll. (Dabei meine ich intensives Lernen und nicht nur drei oder vier Stunden täglich.) Lohnt sich alles in allem nicht unbedingt, es gibt bessere Informatikfachgebiete -- Koyaanisqatsi 13:40, 6. Feb. 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lehrveranstaltungen]]&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie:Meta:TODO]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Telekommunikationsnetze&amp;diff=8466</id>
		<title>Telekommunikationsnetze</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Telekommunikationsnetze&amp;diff=8466"/>
		<updated>2008-02-08T15:43:51Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: Weiterleitung nach Kommunikationsnetze&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[kommunikationsnetze]]&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Telekommunikationsnetze&amp;diff=8465</id>
		<title>Telekommunikationsnetze</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Telekommunikationsnetze&amp;diff=8465"/>
		<updated>2008-02-08T15:42:38Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[#redirect:kommunikationsnetze]]&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9315</id>
		<title>Kommunikationsnetze</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Kommunikationsnetze&amp;diff=9315"/>
		<updated>2008-02-08T15:41:34Z</updated>

		<summary type="html">&lt;p&gt;10.23.42.107: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
=== Klausuren ===&lt;br /&gt;
WS 1999&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_blockklausur_ws_1999.pdf Klausur]&lt;br /&gt;
&lt;br /&gt;
2001 - 2006&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/tkn_klausurmaterial.pdf Klausuren]&lt;br /&gt;
&lt;br /&gt;
SS 2006:&lt;br /&gt;
*[[Telekommunikationsnetze UEKlausurSoSe06|Gedächtnisprotokoll UE-Klausur]]&lt;br /&gt;
&lt;br /&gt;
SS 2007&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Kommunikationsnetze/kn_pr_ss2007.pdf Klausur]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mehr Klausuren [[Freitagsrunde|auf Nachfrage]]&lt;br /&gt;
&#039;&#039;&#039;Kommunikationsnetze&#039;&#039;&#039; ist eine [[Basisveranstaltung]] im [[Hauptstudium|Informatik-Hauptstudium]]&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Vorlesung==&lt;br /&gt;
Bei der Vorlesung ist es hilfreich, die in der VL angesprochenen Themen in einschlägigen Werken nachzuschlagen und auswendig zu lernen. &lt;br /&gt;
&lt;br /&gt;
==Übung==&lt;br /&gt;
Die Übungsklausur lässt sich sehr gut bewältigen, wenn alle Übungblätter verstanden und nachvollzogen worden sind.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.tkn.tu-berlin.de/curricula/ Telekommunikationsnetze (alle Kurse des Fachgebietes)]&lt;br /&gt;
&lt;br /&gt;
== Tipps und persönliche Kommentare ==&lt;br /&gt;
: (Nicht unterschriebene Kommentare werden gelöscht!)&lt;br /&gt;
&lt;br /&gt;
* Man sollte sich überlegen, ob man das Fachgebiet Telekommunikationsnetze überhaupt anfängt. Die Kurse Kommunikationsnetze Praktikum und Übung sind zwar beide ok, aber bei dem Basiskurs schlechthin, nämlich der Vorlesung, geht&#039;s schon los: Prof. Wolisz ist zwar in der VL engagiert, kümmert sich sonst aber nicht um seine Studenten. Stattdessen überlässt er ihnen für die hammerharte Klausur nur ein paar Folien, die aus sich selbst heraus überhaupt nicht verständlich sind (zwei Bücher muss man sich fürs Lernen schon mindestens ausleihen) und stofflich mit der Klausur nicht gut zusammenpassen. Mehrere Wochen Lernen sind allein zum Bestehen Minimum; vielleicht einen Monat, wenn die Note gut sein soll. (Dabei meine ich intensives Lernen und nicht nur drei oder vier Stunden täglich.) Lohnt sich alles in allem nicht unbedingt, es gibt bessere Informatikfachgebiete -- Koyaanisqatsi 13:40, 6. Feb. 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Lehrveranstaltungen]]&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie:Meta:TODO]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>10.23.42.107</name></author>
	</entry>
</feed>