Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Grundkurs Programmieren in Java, Band 1 - Der Einstieg in Programmierung und Objektorientierung

von: Dietmar Ratz, Jens Scheffler, Dietmar Seese, Jan Wiesenberger

Carl Hanser Fachbuchverlag, 2010

ISBN: 9783446422995, 689 Seiten

5. Auflage

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Bookeen Cybook Orizon,Ectaco Lite,Aluratek Libre,eLyricon EBX-500.TFT,PocketBook 302,FlatReader,BeBook 'One',iRiver Story,Sony Reader PRS-3xx,Bookeen CyBook Opus,Hanvon/Hexaglot N518,PocketBook 301+,COOL-ER eReader,Inves-Book 600,eLyricon EBX-600.E-Ink, Bookeen CyBook Gen3 ab Rev: 1.9,Italica Reader,Sony Reader PRS-505, -6xx, -7xx,Pocketbook 360,Hanvon N516 Weltbild Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 34,90 EUR

  • Business Engineering
    Objective C und Cocoa - Programmieren unter Apple Mac OS X
    Java 6 Kompendium - Praxis der objektorientierten Programmierung
    Systemarchitekturen für Verteilte Anwendungen
    Cinema 4D 11 - Der Cinema 4D-Einstieg in Farbe
    Ich bin dann mal schlank- Die Erfolgs-Methode
    Java. (Wirtschaftsinformatik kompakt)
    Postfix
  • Assessment-Center
    Ich bin dann mal schlank – Das Koch- und Rezeptbuch

     

     

     

     

     

     

     

 

Mehr zum Inhalt

Grundkurs Programmieren in Java, Band 1 - Der Einstieg in Programmierung und Objektorientierung


 

Inhaltsverzeichnis

6

Vorwort

16

1 Einleitung

18

1.1 Java – mehr als nur kalter Kaffee?

18

1.2 Java für Anfänger – das Konzept dieses Buches

19

1.3 Weitere Infos und Kontakt zu den Autoren

21

1.4 Verwendete Schreibweisen

21

2 Einige Grundbegriffe aus der Welt des Programmierens

22

2.1 Computer, Software, Informatik und das Internet

22

2.2 Was heißt Programmieren?

25

Teil I: Einstieg in das Programmieren in Java

28

3 Aller Anfang ist schwer

30

3.1 Mein erstes Programm

30

3.2 Formeln, Ausdrücke und Anweisungen

31

3.3 Zahlenbeispiele

32

3.4 Verwendung von Variablen

33

3.5 ”Auf den Schirm!&ldquo

33

3.6 Das Programmgerüst

34

3.7 Eingeben, übersetzen und ausführen

36

3.8 Übungsaufgaben

37

4 Grundlagen der Programmierung in Java

38

4.1 Grundelemente eines Java-Programms

38

4.1.1 Kommentare

40

4.1.2 Bezeichner und Namen

42

4.1.3 Literale

43

4.1.4 Reservierte Wörter, Schlüsselwörter

43

4.1.5 Trennzeichen

44

4.1.6 Interpunktionszeichen

45

4.1.7 Operatorsymbole

45

4.1.8 import-Anweisungen

46

4.1.9 Zusammenfassung

47

4.1.10 Übungsaufgaben

47

4.2 Erste Schritte in Java

48

4.2.1 Grundstruktur eines Java-Programms

49

4.2.2 Ausgaben auf der Konsole

50

4.2.3 Eingaben von der Konsole

51

4.2.4 Schöner programmieren in Java

52

4.2.5 Zusammenfassung

53

4.2.6 Übungsaufgaben

53

4.3 Einfache Datentypen

54

4.3.1 Ganzzahlige Datentypen

54

4.3.2 Gleitkommatypen

56

4.3.3 Der Datentyp char für Zeichen

58

4.3.4 Zeichenketten

59

4.3.5 Der Datentyp boolean für Wahrheitswerte

59

4.3.6 Implizite und explizite Typumwandlungen

59

4.3.7 Zusammenfassung

61

4.3.8 Übungsaufgaben

61

4.4 Der Umgang mit einfachen Datentypen

62

4.4.1 Variablen

62

4.4.2 Operatoren und Ausdrücke

66

4.4.3 Allgemeine Ausdrücke

76

4.4.4 Ein- und Ausgabe

77

4.4.5 Zusammenfassung

80

4.4.6 Übungsaufgaben

80

4.5 Anweisungen und Ablaufsteuerung

83

4.5.1 Anweisungen

84

4.5.2 Blöcke und ihre Struktur

84

4.5.3 Entscheidungsanweisung

85

4.5.4 Wiederholungsanweisungen, Schleifen

88

4.5.5 Sprungbefehle und markierte Anweisungen

92

4.5.6 Zusammenfassung

94

4.5.7 Übungsaufgaben

94

5 Referenzdatentypen

104

5.1 Felder

106

5.1.1 Was sind Felder?

108

5.1.2 Deklaration, Erzeugung und Initialisierung von Feldern

109

5.1.3 Felder unbekannter Länge

112

5.1.4 Referenzen

114

5.1.5 Ein besserer Terminkalender

118

5.1.6 Mehrdimensionale Felder

120

5.1.7 Mehrdimensionale Felder unterschiedlicher Länge

123

5.1.8 Vorsicht, Falle: Kopieren von mehrdimensionalen Feldern

125

5.1.9 Vereinfachte for-Schleifen-Notation

126

5.1.10 Zusammenfassung

128

5.1.11 Übungsaufgaben

128

5.2 Klassen

131

5.2.1 Was sind Klassen?

132

5.2.2 Deklaration und Instantiierung von Klassen

133

5.2.3 Komponentenzugriff bei Objekten

134

5.2.4 Ein erstes Adressbuch

135

5.2.5 Klassen als Referenzdatentyp

137

5.2.6 Felder von Klassen

140

5.2.7 Vorsicht, Falle: Kopieren von geschachteltenReferenzdatentypen

143

5.2.8 Auslagern von Klassen

144

5.2.9 Zusammenfassung

146

5.2.10 Übungsaufgaben

146

6 Methoden, Unterprogramme

148

6.1 Methoden

149

6.1.1 Was sind Methoden?

149

6.1.2 Deklaration von Methoden

150

6.1.3 Parameterübergabe und Ergebnisrückgabe

151

6.1.4 Aufruf von Methoden

153

6.1.5 Überladen von Methoden

154

6.1.6 Variable Argument-Anzahl bei Methoden

156

6.1.7 Vorsicht, Falle: Referenzen als Parameter

157

6.1.8 Sichtbarkeit und Verdecken von Variablen

159

6.1.9 Zusammenfassung

161

6.1.10 Übungsaufgaben

161

6.2 Rekursiv definierte Methoden

162

6.2.1 Motivation

162

6.2.2 Gute und schlechte Beispiele für rekursive Methoden

164

6.2.3 Zusammenfassung

167

6.3 Die Methode main

167

6.3.1 Kommandozeilenparameter

168

6.3.2 Anwendung der vereinfachten for-Schleifen-Notation

169

6.3.3 Zusammenfassung

170

6.3.4 Übungsaufgaben

170

6.4 Methoden aus anderen Klassen aufrufen

172

6.4.1 Klassenmethoden

172

6.4.2 Die Methoden der Klasse java.lang.Math

173

6.4.3 Statischer Import

174

6.5 Methoden von Objekten aufrufen

175

6.5.1 Instanzmethoden

175

6.5.2 Die Methoden der Klasse java.lang.String

176

6.6 Übungsaufgaben

179

Teil II: Objektorientiertes Programmieren in Java

184

7 Die objektorientierte Philosophie

186

7.1 Die Welt, in der wir leben

186

7.2 Programmierparadigmen – Objektorientierung im Vergleich

187

7.3 Die vier Grundpfeiler objektorientierter Programmierung

189

7.3.1 Generalisierung

189

7.3.2 Vererbung

191

7.3.3 Kapselung

194

7.3.4 Polymorphismus

195

7.3.5 Weitere wichtige Grundbegriffe

196

7.4 Modellbildung – von der realen Welt in den Computer

197

7.4.1 Grafisches Modellieren mit UML

197

7.4.2 Entwurfsmuster

198

7.5 Zusammenfassung

199

7.6 Übungsaufgaben

200

8 Der grundlegende Umgang mit Klassen

202

8.1 Vom Referenzdatentyp zur Objektorientierung

202

8.2 Instanzmethoden

204

8.2.1 Zugriffsrechte

204

8.2.2 Was sind Instanzmethoden?

205

8.2.3 Instanzmethoden zur Validierung von Eingaben

208

8.2.4 Instanzmethoden als erweiterte Funktionalität

209

8.3 Statische Komponenten einer Klasse

210

8.3.1 Klassenvariablen und -methoden

211

8.3.2 Klassenkonstanten

213

8.4 Instantiierung und Initialisierung

214

8.4.1 Konstruktoren

214

8.4.2 Überladen von Konstruktoren

216

8.4.3 Der statische Initialisierer

218

8.4.4 Der Mechanismus der Objekterzeugung

221

8.5 Zusammenfassung

225

8.6 Übungsaufgaben

226

9 Vererbung und Polymorphismus – der fortgeschrittene Umgang mit Klassen in Java

246

9.1 Wozu braucht man Vererbung?

246

9.1.1 Aufgabenstellung

246

9.1.2 Analyse des Problems

247

9.1.3 Ein erster Ansatz

247

9.1.4 Eine Klasse für sich

248

9.1.5 Stärken der Vererbung

249

9.1.6 Vererbung verhindern durch final

252

9.1.7 Übungsaufgaben

253

9.2 Die super-Referenz

254

9.3 Überschreiben von Methoden und Variablen

256

9.3.1 Dynamisches Binden

256

9.3.2 Überschreiben von Methoden verhindern durch final

258

9.4 Die Klasse java.lang.Object

259

9.5 Übungsaufgaben

262

9.6 Abstrakte Klassen und Interfaces

262

9.7 Übungsaufgaben

266

9.8 Weiteres zum Thema Objektorientierung

271

9.8.1 Erstellen von Paketen

271

9.8.2 Zugriffsrechte

272

9.8.3 Innere Klassen

273

9.8.4 Anonyme Klassen

279

9.9 Zusammenfassung

281

9.10 Übungsaufgaben

281

10 Exceptions und Errors

292

10.1 Eine Einführung in Exceptions

293

10.1.1 Was ist eine Exception?

293

10.1.2 Übungsaufgaben

295

10.1.3 Abfangen von Exceptions

295

10.1.4 Ein Anwendungsbeispiel

296

10.1.5 Die RuntimeException

299

10.1.6 Übungsaufgaben

300

10.2 Exceptions für Fortgeschrittene

302

10.2.1 Definieren eigener Exceptions

302

10.2.2 Übungsaufgaben

304

10.2.3 Vererbung und Exceptions

304

10.2.4 Vorsicht, Falle!

308

10.2.5 Der finally-Block

310

10.2.6 Die Klassen Throwable und Error

314

10.2.7 Zusammenfassung

316

10.2.8 Übungsaufgaben

316

10.3 Assertions

317

10.3.1 Zusicherungen im Programmcode

317

10.3.2 Compilieren des Programmcodes

318

10.3.3 Ausführen des Programmcodes

319

10.3.4 Zusammenfassung

319

11 Fortgeschrittene objektorientierte Programmierung

320

11.1 Aufzählungstypen

321

11.1.1 Deklaration eines Aufzählungstyps

321

11.1.2 Instanzmethoden der enum-Objekte

322

11.1.3 Selbstdefinierte Instanzmethoden für enum-Objekte

322

11.1.4 Übungsaufgaben

324

11.2 Generische Datentypen

326

11.2.1 Generizität in alten Java-Versionen

326

11.2.2 Generizität ab Java 5.0

329

11.2.3 Einschränkungen der Typ-Parameter

331

11.2.4 Wildcards

333

11.2.5 Bounded Wildcards

334

11.2.6 Generische Methoden

336

11.2.7 Ausblick

338

11.2.8 Übungsaufgaben

338

11.3 Sortieren von Feldern und das Interface Comparable

343

12 Einige wichtige Hilfsklassen

346

12.1 Die Klasse StringBuffer

346

12.1.1 Arbeiten mit String-Objekten

346

12.1.2 Arbeiten mit StringBuffer-Objekten

349

12.1.3 Übungsaufgaben

351

12.2 Die Wrapper-Klassen (Hüll-Klassen)

352

12.2.1 Arbeiten mit ”eingepackten“ Daten

352

12.2.2 Aufbau der Wrapper-Klassen

353

12.2.3 Ein Anwendungsbeispiel

356

12.2.4 Automatische Typwandlung für die Wrapper-Klassen

357

12.2.5 Übungsaufgaben

359

12.3 Die Klassen BigInteger und BigDecimal

360

12.3.1 Arbeiten mit langen Ganzzahlen

360

12.3.2 Aufbau der Klasse BigInteger

362

12.3.4 Arbeiten mit langen Gleitkommazahlen

364

12.3.5 Aufbau der Klasse BigDecimal

367

12.3.6 Viele Stellen von Nullstellen gefällig?

370

12.3.7 Übungsaufgaben

371

12.4 Die Klasse DecimalFormat

372

12.4.1 Standard-Ausgaben in Java

372

12.4.2 Arbeiten mit Format-Objekten

373

12.4.3 Vereinfachte formatierte Ausgabe

375

12.4.4 Übungsaufgaben

376

12.5 Die Klassen Date und Calendar

376

12.5.1 Arbeiten mit ”Zeitpunkten&ldquo

377

12.5.2 Auf die Plätze, fertig, los!

378

12.5.3 Spezielle Calendar-Klassen

379

12.5.4 Noch einmal: Zeitmessung

381

12.5.5 Übungsaufgaben

383

12.6 Die Klassen SimpleDateFormat undDateFormat

383

12.6.1 Arbeiten mit Format-Objekten für Datum/Zeit-Angaben

383

12.6.2 Übungsaufgaben

388

12.7 Die Collection-Klassen

388

12.7.1 ”Sammlungen“ von Objekten – Der Aufbau des Interface Collection

388

12.7.2 ”Sammlungen“ durchgehen – Der Aufbau des Interface Iterator

391

12.7.3 Mengen

392

12.7.4 Listen

396

12.7.5 Übungsaufgaben

402

12.8 Die Klasse StringTokenizer

403

12.8.1 Übungsaufgaben

405

Teil III: Grafische Oberflächen in Java

406

13 Aufbau grafischer Oberflächen in Frames – von AWT nach Swing

408

13.1 Grundsätzliches zum Aufbau grafischer Oberflächen

408

13.2 Ein einfaches Beispiel mit dem AWT

410

13.3 Let’s swing now!

412

13.4 Etwas ”Fill-in“ gefällig?

414

13.5 Die AWT- und Swing-Klassenbibliothekim Überblick

416

13.6 Übungsaufgaben

418

14 Swing-Komponenten

420

14.1 Die abstrakte Klasse Component

420

14.2 Die Klasse Container

421

14.3 Die abstrakte Klasse JComponent

422

14.4 Layout-Manager, Farben und Schriften

423

14.4.1 Die Klasse Color

424

14.4.2 Die Klasse Font

426

14.4.3 Layout-Manager

427

14.5 Einige Grundkomponenten

433

14.5.1 Die Klasse JLabel

435

14.5.2 Die abstrakte Klasse AbstractButton

435

14.5.3 Die Klasse JButton

437

14.5.4 Die Klasse JToggleButton

438

14.5.5 Die Klasse JCheckBox

439

14.5.6 Die Klassen JRadioButton und ButtonGroup

440

14.5.7 Die Klasse JComboBox

442

14.5.8 Die Klasse JList

445

14.5.9 Die abstrakte Klasse JTextComponent

448

14.5.10 Die Klassen JTextField und JPasswordField

449

14.5.11 Die Klasse JTextArea

451

14.5.12 Die Klasse JScrollPane

453

14.5.13 Die Klasse JPanel

455

14.6 Spezielle Container, Menüs und Toolbars

457

14.6.1 Die Klasse JFrame

457

14.6.2 Die Klasse JWindow

458

14.6.3 Die Klasse JDialog

458

14.6.4 Die Klasse JMenuBar

462

14.6.5 Die Klasse JToolBar

464

14.7 Übungsaufgaben

467

15 Ereignisverarbeitung

470

15.1 Zwei einfache Beispiele

471

15.1.1 Zufällige Grautöne als Hintergrund

471

15.1.2 Ein interaktiver Bilderrahmen

474

15.2 Programmiervarianten für die Ereignisverarbeitung

478

15.2.1 Innere Klasse als Listener-Klasse

478

15.2.2 Anonyme Klasse als Listener-Klasse

478

15.2.3 Container-Klasse als Listener-Klasse

479

15.2.4 Separate Klasse als Listener-Klasse

480

15.3 Event-Klassen und -Quellen

482

15.4 Listener-Interfaces und Adapter-Klassen

486

15.5 Listener-Registrierung bei den Event-Quellen

491

15.6 Auf die Plätze, fertig, los!

495

15.7 Übungsaufgaben

499

16 Einige Ergänzungen zuSwing-Komponenten

504

16.1 Zeichnen in Swing-Komponenten

504

16.1.1 Grafische Darstellung von Komponenten

504

16.1.2 Das Grafik-Koordinatensystem

505

16.1.3 Die abstrakte Klasse Graphics

506

16.1.4 Ein einfaches Zeichenprogramm

509

16.1.5 Layoutveränderungen und der Einsatz von revalidate

511

16.2 Noch mehr Swing gefällig?

514

16.3 Übungsaufgaben

515

17 Applets

518

17.1 Erstellen und Ausführen von Applets

518

17.1.1 Vom Frame zum Applet am Beispiel

518

17.1.2 Applet in HTML-Datei einbetten

520

17.1.3 Applet über HTML-Datei ausführen

522

17.2 Die Methoden der Klasse JApplet

523

17.3 Zwei Beispiele

525

17.3.1 Auf die Plätze, fertig, los!

526

17.3.2 Punkte verbinden im Applet

529

17.4 Details zur HTML-Einbettung

530

17.4.1 Der Applet-Tag

530

17.4.2 Die Methode showDocument

533

17.5 Sicherheitseinschränkungen bei Applets

535

17.6 Übungsaufgaben

539

Teil IV: Threads, Datenströme undNetzwerk-Anwendungen

542

18 Parallele Programmierung mit Threads

544

18.1 Ein einfaches Beispiel

544

18.2 Threads in Java

546

18.2.1 Die Klasse Thread

547

18.2.2 Das Interface Runnable

551

18.2.3 Threads vorzeitig beenden

553

18.3 Wissenswertes über Threads

555

18.3.1 Lebenszyklus eines Threads

555

18.3.2 Thread-Scheduling

557

18.3.3 Dämon-Threads und Thread-Gruppen

557

18.4 Thread-Synchronisation und -Kommunikation

558

18.4.1 Das Leser/Schreiber-Problem

559

18.4.2 Das Erzeuger/Verbraucher-Problem

563

18.5 Threads in Frames und Applets

570

18.5.1 Auf die Plätze, fertig, los!

570

18.5.2 Spielereien

574

18.5.3 Swing-Komponenten sind nicht Thread-sicher

576

18.6 Übungsaufgaben

577

19 Ein- und Ausgabe über Streams

580

19.1 Grundsätzliches zu Streams in Java

581

19.2 Dateien und Verzeichnisse – Die Klasse File

581

19.3 Ein- und Ausgabe über Character-Streams

584

19.3.1 Einfache Reader- und Writer-Klassen

585

19.3.2 Gepufferte Reader- und Writer-Klassen

588

19.3.3 Die Klasse StreamTokenizer

590

19.3.4 Die Klasse PrintWriter

591

19.3.5 Die Klassen IOTools und Scanner

593

19.4 Ein- und Ausgabe über Byte-Streams

595

19.4.1 Einige InputStream- und OutputStream-Klassen

596

19.4.2 Die Serialisierung und Deserialisierung von Objekten

598

19.4.3 Die Klasse PrintStream

600

19.5 Einige abschließende Bemerkungen

601

19.6 Übungsaufgaben

602

20 Client/Server-Programmierung in Netzwerken

604

20.1 Wissenswertes über Netzwerk-Kommunikation

605

20.1.1 Protokolle

605

20.1.2 IP-Adressen

607

20.1.3 Ports und Sockets

608

20.2 Client/Server-Programmierung

609

20.2.1 Die Klassen ServerSocket und Socket

610

20.2.2 Ein einfacher Server

612

20.2.3 Ein einfacher Client

615

20.2.4 Ein Server für mehrere Clients

616

20.2.5 Ein Mehrzweck-Client

619

20.3 Wissenswertes über URLs

622

20.3.1 Client/Server-Kommunikation über URLs

622

20.3.2 Netzwerkverbindungen in Applets

623

20.4 Übungsaufgaben

624

Teil V: Ausblick und Anhang

628

21 Blick über den Tellerrand

630

21.1 Der Vorhang fällt

630

21.2 A fool with a tool . . .

631

21.3 Alles umsonst?

632

21.4 Und fachlich?

633

21.5 Zu guter Letzt . . .

635

Anhang A: Der Weg zum gutenProgrammierer . . .

636

A.1 Die goldenen Regeln der Code-Formatierung

637

A.2 Die goldenen Regeln der Namensgebung

640

A.3 Zusammenfassung

642

Anhang B: Die Klasse IOTools – Tastatureingaben in Java

644

B.1 Kurzbeschreibung

644

B.2 Anwendung der IOTools-Methoden

645

Anhang C: Der Umgang mit der API-Spezifikation

648

C.1 Der Aufbau der API-Spezifikation

648

C.2 Der praktische Einsatz der API-Spezifikation

649

Anhang D: Glossar

654

Literaturverzeichnis

668

Stichwortverzeichnis

672