dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren

Marco Block

 

Verlag Springer-Verlag, 2009

ISBN 9783642039553 , 291 Seiten

2. Auflage

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

39,99 EUR


 

1 Tag 1: Vorbereitungen und Javas kleinste Bausteine

21

1.1 Warum gerade mit Java beginnen?

22

1.2 Installation von Java

23

1.2.1 Wahl einer Entwicklungsumgebung

23

1.2.2 Testen wir das installierte Java-System

24

1.3 Vorteile des Selbststudiums

26

1.4 Primitive Datentypen und ihre Wertebereiche

27

1.4.1 Primitive Datentypen allgemein

28

1.4.2 Primitive Datentypen in Java

28

1.5 Variablen und Konstanten

30

1.5.1 Deklaration von Variablen

30

1.5.2 Variablen versus Konstanten

31

1.6 Primitive Datentypen und ihre Operationen

32

1.6.1 Datentyp boolean

32

1.6.2 Datentyp char

35

1.6.3 Datentyp int

35

1.6.4 Datentypen byte, short und long

36

1.6.5 Datentypen float und double

37

1.7 Umwandlungen von Datentypen

38

1.7.1 Explizite Typumwandlung

39

1.7.2 Übersicht zu impliziten Typumwandlungen

40

1.7.3 Die Datentypen sind für die Operation entscheidend

40

1.8 Zusammenfassung und Aufgaben

41

2 Tag 2: Grundlegende Prinzipien der Programmentwicklung

43

2.1 Programm als Kochrezept

44

2.2 Methoden der Programmerstellung

45

2.2.1 Sequentieller Programmablauf

46

2.2.2 Verzweigungen

46

2.2.3 Sprünge

47

2.2.4 Schleifen

47

2.2.5 Parallelität

47

2.2.6 Kombination zu Programmen

48

2.3 Programme in Java

48

2.3.1 Erstellen eines Javaprogramms in Pseudocode

49

2.3.2 Erstellen eines Javaprogramms

49

2.4 Programmieren mit einem einfachen Klassenkonzept

50

2.5 Sequentielle Anweisungen

52

2.6 Verzweigungen

53

2.6.1 Verzweigung mit if

54

2.6.2 Verzweigung mit switch

55

2.7 Verschiedene Schleifentypen

56

2.7.1 Schleife mit for

56

2.7.2 Schleife mit while

58

2.7.3 Schleife mit do-while

59

2.8 Sprunganweisungen

60

2.8.1 Sprung mit break

60

2.8.2 Sprung mit continue

62

2.9 Funktionen in Java

63

2.10 Zusammenfassung und Aufgaben

66

3 Tag 3: Daten laden und speichern

68

3.1 Externe Programmeingaben

69

3.2 Daten aus einer Datei einlesen

70

3.3 Daten in eine Datei schreiben

72

3.4 Daten von der Konsole einlesen

72

3.5 Zusammenfassung und Aufgaben

73

4 Tag 4: Verwendung einfacher Datenstrukturen

75

4.1 Arrays

76

4.1.1 Deklaration und Zuweisung

77

4.1.2 Vereinfachte Schleife mit for

78

4.2 Matrizen oder multidimensionale Arrays

78

4.3 Conway's Game of Life

79

4.3.1 Einfache Implementierung

81

4.3.2 Auswahl besonderer Muster und Ausblick

84

4.4 Zusammenfassung und Aufgaben

84

5 Tag 5: Debuggen und Fehlerbehandlungen

86

5.1 Das richtige Konzept

87

5.2 Exceptions in Java

89

5.2.1 Einfache try-catch-Behandlung

90

5.2.2 Mehrfache try-catch-Behandlung

91

5.3 Fehlerhafte Berechnungen aufspüren

92

5.3.1 Berechnung der Zahl pi nach Leibniz

92

5.3.2 Zeilenweises Debuggen und Breakpoints

95

5.4 Zusammenfassung und Aufgaben

95

6 Tag 6: Erweitertes Klassenkonzept

97

6.1 Entwicklung eines einfachen Fußballmanagers

98

6.2 Spieler und Trainer

98

6.2.1 Generalisierung und Spezialisierung

98

6.2.2 Klassen und Vererbung

99

6.2.3 Modifizierer public und private

101

6.2.4 Objekte und Instanzen

102

6.2.5 Konstruktoren in Java

103

6.3 Torwart

105

6.4 Die Mannschaft

106

6.5 Turniere und Freundschaftsspiele

107

6.5.1 Ein Interface Freundschaftsspiel festlegen

107

6.5.2 Freundschaftsspiel FC Steinhausen-Oderbrucher SK

110

6.5.3 Beispiel zu Interface

113

6.5.4 Interface versus abstrakte Klasse

115

6.6 Zusammenfassung und Aufgaben

116

7 Tag 7: Aufarbeitung der vorhergehenden Kapitel

118

7.1 Referenzvariablen

119

7.2 Zugriff auf Attribute und Methoden durch Punktnotation

120

7.3 Die Referenzvariable this

121

7.4 Prinzip des Überladens

121

7.4.1 Überladung von Konstruktoren

122

7.4.2 Der Copy-Konstruktor

123

7.5 Garbage Collector

123

7.6 Statische Attribute und Methoden

124

7.7 Primitive Datentypen und ihre Wrapperklassen

125

7.8 Die Klasse String

126

7.8.1 Erzeugung und Manipulation von Zeichenketten

126

7.8.2 Vergleich von Zeichenketten

127

7.9 Zusammenfassung und Aufgaben

129

8 Tag 8: Verwendung von Bibliotheken

131

8.1 Standardbibliotheken

132

8.2 Funktionen der Klasse Math

134

8.3 Zufallszahlen in Java

134

8.3.1 Ganzzahlige Zufallszahlen vom Typ int und long

135

8.3.2 Zufallszahlen vom Typ float und double

136

8.3.3 Weitere nützliche Funktionen der Klasse Random

136

8.4 Das Spielprojekt BlackJack

137

8.4.1 Spielregeln

137

8.4.2 Spieler, Karten und Kartenspiel

138

8.4.2.1 Verwendungsbeispiel für die Datenstruktur Vector

138

8.4.2.2 Implementierung der Klassen Spieler, Karteund Kartenspiel

140

8.4.3 Die Spielklasse BlackJack

143

8.5 JAMA -- Lineare Algebra

149

8.6 Eine eigene Bibliothek bauen

151

8.7 Zusammenfassung und Aufgaben

152

9 Tag 9: Grafische Benutzeroberflächen

154

9.1 Fenstermanagement unter AWT

155

9.1.1 Ein Fenster lokal erzeugen

155

9.1.2 Vom Fenster erben und es zentrieren

156

9.2 Zeichenfunktionen innerhalb eines Fensters

157

9.2.1 Textausgaben

158

9.2.2 Zeichenfunktionen

158

9.2.3 Die Klasse Color

159

9.2.4 Bilder laden und anzeigen

160

9.3 Auf Fensterereignisse reagieren und sie behandeln

162

9.3.1 Fenster mit dem Interface WindowListener schließen

162

9.3.2 GUI-Elemente und ihre Ereignisse

165

9.3.2.1 Layoutmanager

165

9.3.2.2 Die Komponenten Label und Button

165

9.3.2.3 Die Komponente TextField

167

9.4 Auf Mausereignisse reagieren

168

9.5 Zusammenfassung und Aufgaben

170

10 Tag 10: Appletprogrammierung

171

10.1 Kurzeinführung in HTML

172

10.2 Applets im Internet

172

10.3 Funktionen eines Applets

173

10.4 Verwendung des Appletviewers

174

10.5 Eine Applikation zum Applet umbauen

176

10.5.1 Konstruktor zu init

176

10.5.2 paint-Methoden anpassen

177

10.5.3 TextField-Beispiel zum Applet umbauen

178

10.6 Flackernde Applets vermeiden

179

10.6.1 Die Ghosttechnik anwenden

181

10.6.2 Die update-Methode überschreiben

182

10.7 Ein Beispiel mit mouseDragged

183

10.8 Diebstahl von Applets erschweren

184

10.8.1 Download und Dekompilierung

185

10.8.2 Verwirrung durch einen Obfuscator

187

10.9 Zusammenfassung und Aufgaben

187

11 Tag 11: Techniken der Programmentwicklung

189

11.1 Der Begriff Algorithmus

190

11.2 Techniken zum Entwurf von Algorithmen

190

11.2.1 Prinzip der Rekursion

190

11.2.2 Brute Force

192

11.2.3 Greedy

193

11.2.4 Dynamische Programmierung und Memoisation

193

11.2.5 Teile und Herrsche

195

11.3 Algorithmen miteinander vergleichen

195

11.4 Kleine algorithmische Probleme

196

11.4.1 Identifikation und Erzeugung von Primzahlenmit Brute Force

196

11.4.2 Sortieralgorithmen

197

11.4.2.1 InsertionSort

197

11.4.2.2 BubbleSort

198

11.4.2.3 QuickSort

199

11.4.3 Needleman-Wunsch-Algorithmus

201

11.5 Zusammenfassung und Aufgaben

203

12 Tag 12: Bildverarbeitung

204

12.1 Das RGB-Farbmodell

205

12.2 Grafische Spielerei: Apfelmännchen

207

12.2.1 Mathematischer Hintergrund

207

12.2.2 Das Apfelmännchen-Fraktal in grau

209

12.2.3 Die Klasse BufferedImage

211

12.2.4 Bilder laden und speichern

212

12.2.5 Das Apfelmännchen-Fraktal in Farbe

214

12.3 Bilder bearbeiten

217

12.3.1 Ein Bild invertieren

218

12.3.2 Erstellung eines Grauwertbildes

219

12.3.3 Binarisierung eines Grauwertbildes

220

12.4 Zusammenfassung und Aufgaben

221

13 Tag 13: Methoden der Künstlichen Intelligenz

222

13.1 Mustererkennung

223

13.1.1 Einlesen der Trainingsdaten

223

13.1.2 k-nn Algorithmus

228

13.1.2.1 Visualisierung des Algorithmus

228

13.1.2.2 Implementierung eines k-nn Klassifikators

228

13.1.3 k-means Algorithmus

231

13.1.3.1 Bestimmung der k Prototypen

231

13.1.3.2 Expectation-Maximizationals Optimierungsverfahren

232

13.1.3.3 Allgemeine Formulierungdes k-means Algorithmus

233

13.1.3.4 Implementierung des k-means

233

13.2 Ein künstlicher Spielegegner

237

13.2.1 Der MinMax-Algorithmus

238

13.2.2 MinMax mit unbegrenzter Suchtiefe

238

13.2.3 MinMax mit begrenzter Suchtiefe und Bewertungsfunktion

240

13.2.4 Spieleprojekt TicTacToe

241

13.3 Zusammenfassung und Aufgaben

247

14 Tag 14: Entwicklung einer größeren Anwendung

248

14.1 Entwurf eines Konzepts

249

14.1.1 GUI Klassen

250

14.1.2 Spiellogik

251

14.1.3 Spieldatenverwaltung

251

14.1.4 Komplettes Klassendiagramm

253

14.2 Implementierung

253

14.2.1 Klasse TeeTristBox

253

14.2.2 Klasse TeeTristStein

253

14.2.3 Klasse TeeTristSpielfeld

257

14.2.4 Klasse SpielThread

261

14.2.5 Klasse TeeTristPanel

264

14.2.6 Klasse TeeTrist

265

14.3 Spielen wir ein Spiel TeeTrist

266

14.4 Dokumentation mit javadoc

266

14.5 Zusammenfassung und Aufgaben

267

15 Java -- Weiterführende Konzepte

269

15.1 Professionelle Entwicklungsumgebungen

270

15.2 Das Klassendiagramm als Konzept einer Software

270

15.3 Klassendiagramm mit UML

270

15.3.1 Klasse

271

15.3.2 Vererbung

271

15.3.3 Beziehungen zwischen Klassen

272

15.3.3.1 Beziehungen

272

15.3.3.2 Kardinalitäten

272

15.3.3.3 Aggregation und Komposition

273

15.4 Verwendung externer Bibliotheken

273

15.5 Zusammenarbeit in großen Projekten

274

Glossar

275

Literaturverzeichnis

280

Sachverzeichnis

283