Grundkurs Programmieren in Java



Ähnliche Dokumente
Grundkurs Programmieren in Java

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java

Schulungspaket ISO 9001

Webseiten entwickeln mit ASP.NET

Grundkurs Programmieren in Java

Filme der Kindheit Kindheit im Film

Investitionsentscheidungen institutioneller Investoren für Private-Equity- Gesellschaften

Der Kälteanlagenbauer

Berufsentwicklung für die Branche der Windenergienutzung in Deutschland

Visual C#.NET. Bearbeitet von Patrick A. Lorenz

Führungskräfte-Feedback von Menschen mit Down-Syndrom

Change Management in der Praxis

Sobotta Atlas der Anatomie des Menschen

Das Verhältnis der außerordentlichen Kündigung des Arbeitgebers zur ordentlichen Kündigung nach dem KSchG

Objektorientierte Programmierung in Java

Kinder, Geld und Steuern

KOMPASS - Kompetenztraining für Jugendliche mit Autismus- Spektrum-Störungen

Pflegebedürftig?! Das Angehörigenbuch

Langenscheidt Training plus, Mathe 6. Klasse

Studienführer Consulting

Taschenbuch Betriebliche Sicherheitstechnik

IT-Outsourcing-Entscheidungen

Auktionen und Revenue Management in der Automobilindustrie

JavaScript kinderleicht!

Internationales Privatrecht und Geschäftsführerhaftung bei Insolvenzen von Auslandsgesellschaften

Die Unternehmergesellschaft

Grundkurs Programmieren in Java

Public Private Partnerships und öffentliche Verschuldung

X.media.press. Digitale Panoramen. Tipps, Tricks und Techniken für die Panoramafotografie. Bearbeitet von Corinna Jacobs

Koordinatenmesstechnik und CAX-Anwendungen in der Produktion

Erfolgreich studieren

Aktuarielle Methoden der Tarifgestaltung in der Schaden- /Unfallversicherung

Angewandtes Case Management

Die Weltwirtschaftskrise

Elektrotechnik für Ingenieure 3

GRUNDKURS PROGRAMMIEREN IN JAVA

Ambulante Pflegeberatung

Handbuch Farbkomposition - Webfarben

Exkursionen in Sophies zweiter Welt

Büroprojektentwicklung im Spannungsfeld von Transaktionskosten und stadtplanerischer Intervention

Objektorientierte Programmierung in Java

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Ästhetische Chirurgie

Intrinsisch motivierte Mitarbeiter als Erfolgsfaktor für das Ideenmanagement: Eine empirische Untersuchung

Der IT Security Manager

Der große Neustart. Kriege um Gold und die Zukunft des globalen Finanzsystems. Bearbeitet von Willem Middelkoop, Wolfgang Wurbs

Die Prüfung der Kaufleute für Versicherungen und Finanzen

Science goes Business

Hotel Real Estate Management

Beurteilung der Sprödbruchgefährdung gelochter Stahltragwerke - Weiterentwicklung der Analysemethoden.

Produktionswirtschaft

Energieeffiziente Schulen - EnEff:Schule.

BALANCE zur Sache. Mut zur Veränderung. Methoden und Möglichkeiten der Psychotherapie. Bearbeitet von Rosemarie Piontek

Workflowmanagement in der Produktionsplanung und -steuerung

Führung. Auf die letzten Meter kommt es an. Bearbeitet von Klaus-Dieter Werry

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Inhaltsverzeichnis. Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger. Grundkurs Programmieren in Java. ISBN (Buch):

Die Sprachenfolge an den höheren Schulen in Preußen ( )

Haufe Fachbuch E-Rechnungen. Rechtssicher übermitteln, berichtigen, kontieren und archivieren. Bearbeitet von Rüdiger Weimann

Einführung in das betriebliche Rechnungswesen

Integrierte Unternehmensplanung

Qualitätsmanagement - Lehrbuch für Studium und Praxis

Wertorientiertes Supply Chain Management

Unternehmenskooperation für kleine und mittelständische Unternehmen

Shared Service Center-Controlling

Java Einführung Operatoren Kapitel 2 und 3

Abitur-Training - Englisch Grammatikübungen Oberstufe mit Videoanreicherung

Ausgewählte Aspekte des Rückkaufs eigener Aktien in Deutschland

Teil II: Konzepte imperativer Sprachen

Wissen managen. Wie Unternehmen ihre wertvollste Ressource optimal nutzen. Bearbeitet von Gilbert Probst, Steffen Raub, Kai Romhardt

MicroRNA Interference Technologies

Produktionsmanagement von IT-Dienstleistungen

Planungshandbuch Straßen und Wegebau

Inhaltsverzeichnis. Grundkurs Programmieren in Java

Public Private Partnership in der Entsorgung der gemischten Siedlungsabfälle in Deutschland

Investitionsgütermarketing

Innovationsmanagement

C-Programmierung unter TOS ATARI ST

Tinnitus. Kognitiv-verhaltenstherapeutisches Behandlungsmanual. Mit Online-Materialien

Die Zukunft der Fernsehwerbung

Einführung in die spanische Sprachwissenschaft

Typografische Animation für Studium und Praxis

Die Verjährung von Ansprüchen bei unsicherer und zweifelhafter Rechtslage

Basistraining Vektorgrafik

Anwalts-Handbuch Verkehrsrecht

Lean Mangement und Six Sigma

Kompakt Edition: Lagerwirtschaft

Implementierung von Coaching als Instrument der Personalentwicklung in deutschen Großunternehmen

Telefon-Fundraising. Effektive Spendengewinnung und Spenderbetreuung in der Praxis. Bearbeitet von Oliver Steiner

Vielfalt leben - Inklusion von Menschen mit Autismus-Spektrum- Störungen

Tempusverwendung in chinesisch-deutscher Lernersprache

Das neue Reisekosten- und Bewirtungsrecht 2010

JavaScript objektorientiert

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN:

Transkript:

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Bearbeitet von Dietmar Ratz, Jens Scheffler, Detlef Seese 1. Auflage 2001. Taschenbuch. 463 S. Paperback ISBN 978 3 446 21813 0 Format (B x L): 16,9 x 24,1 cm Gewicht: 874 g Weitere Fachgebiete > EDV, Informatik > Programmiersprachen: Methoden > Objektorientierte Programmierung Zu Leseprobe schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

CARL HANSER VERLAG Dietmar Ratz, Jens Scheffler, Detlef Seese Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung 3-446-21813-0 www.hanser.de

Inhaltsverzeichnis Vorwort 15 1 Einleitung 17 1.1 Java mehr als nur kalter Kaffee?... 17 1.2 Java für Anfänger Das Konzept dieses Buches.... 18 1.3 WeitereInfosundKontaktzudenAutoren... 19 1.4 VerwendeteSchreibweisen... 20 2 Einige Grundbegriffe aus der Welt des Programmierens 21 2.1 Computer, Software, Informatik und das Internet... 21 2.2 WasheißtProgrammieren?... 24 I Einstieg in das Programmieren in Java 29 3 Aller Anfang ist schwer 31 3.1 Mein erstes Programm.... 31 3.2 Formeln, Ausdrücke und Anweisungen... 32 3.3 Zahlenbeispiele... 33 3.4 VerwendungvonVariablen... 34 3.5 Auf den Schirm!... 34 3.6 Das Programmgerüst..... 35 3.7 Eingeben, übersetzen und ausführen... 36 3.8 Übungsaufgaben... 38 4 Grundlagen der Programmierung in Java 39 4.1 Grundelemente eines Java-Programms... 39 4.1.1 Kommentare... 41 4.1.2 BezeichnerundNamen... 43 4.1.3 Literale... 44 4.1.4 Reservierte Wörter, Schlüsselwörter... 45 4.1.5 Trennzeichen... 45 4.1.6 Interpunktionszeichen... 47

8 Inhaltsverzeichnis 4.1.7 Operatorsymbole... 47 4.1.8 import-anweisungen... 47 4.1.9 Zusammenfassung... 48 4.1.10 Übungsaufgaben... 49 4.2 ErsteSchritteinJava... 50 4.2.1 GrundstruktureinesJava-Programms... 50 4.2.2 AusgabenaufderKonsole... 51 4.2.3 EingabenvonderKonsole... 53 4.2.4 Schöner Programmieren in Java... 54 4.2.5 Zusammenfassung... 55 4.2.6 Übungsaufgaben... 55 4.3 EinfacheDatentypen... 55 4.3.1 Ganzzahlige Datentypen...... 56 4.3.2 Gleitkommatypen... 57 4.3.3 Der Datentyp char fürzeichen..... 59 4.3.4 Zeichenketten... 60 4.3.5 Der Datentyp boolean fürwahrheitswerte... 60 4.3.6 ImpliziteundexpliziteTypumwandlungen... 61 4.3.7 Zusammenfassung... 62 4.3.8 Übungsaufgaben... 62 4.4 DerUmgangmiteinfachenDatentypen... 63 4.4.1 Variablen... 64 4.4.2 Operatoren und Ausdrücke.... 67 4.4.2.1 ArithmetischeOperatoren... 68 4.4.2.2 Bitoperatoren... 70 4.4.2.3 Zuweisungsoperator... 72 4.4.2.4 Vergleichsoperatoren und Logische Operatoren.. 73 4.4.2.5 Inkrement- und Dekrementoperatoren... 75 4.4.2.6 Priorität und Auswertungsreihenfolge der Operatoren..... 76 4.4.3 Allgemeine Ausdrücke... 77 4.4.4 Ein-undAusgabe... 78 4.4.5 Zusammenfassung... 79 4.4.6 Übungsaufgaben... 80 4.5 AnweisungenundAblaufsteuerung... 83 4.5.1 Anweisungen... 83 4.5.2 Blöcke und ihre Struktur... 84 4.5.3 Entscheidungsanweisung... 84 4.5.3.1 Die if-anweisung... 84 4.5.3.2 Die switch-anweisung.... 86 4.5.4 Wiederholungsanweisungen,Schleifen... 88 4.5.4.1 Die for-anweisung... 88 4.5.4.2 Die while-anweisung... 89 4.5.4.3 Die do-anweisung... 90

Inhaltsverzeichnis 9 4.5.4.4 Unendliche Schleifen... 91 4.5.5 SprungbefehleundmarkierteAnweisungen... 92 4.5.6 Zusammenfassung... 94 4.5.7 Übungsaufgaben... 94 5 Praxisbeispiele 99 5.1 Worum geht es in diesem Kapitel?.... 99 5.2 TeilbarkeitzumErsten... 99 5.2.1 Aufgabenstellung... 99 5.2.2 AnalysedesProblems... 99 5.2.3 AlgorithmischeBeschreibung... 100 5.2.4 ProgrammierunginJava... 101 5.2.5 VorsichtFalle... 102 5.2.6 Übungsaufgaben... 103 5.3 TeilbarkeitzumZweiten... 103 5.3.1 Aufgabenstellung... 103 5.3.2 AnalysedesProblems... 103 5.3.3 AlgorithmischeBeschreibung... 104 5.3.4 ProgrammierunginJava... 104 5.3.5 Vorsicht,Falle!... 105 5.3.6 Übungsaufgaben... 106 5.4 Dreierlei... 107 5.4.1 Aufgabenstellung... 107 5.4.2 AnalysedesProblems... 108 5.4.3 AlgorithmischeBeschreibung... 108 5.4.4 ProgrammierunginJava... 109 5.4.5 VorsichtFalle... 112 5.4.6 Übungsaufgaben... 112 6 Referenzdatentypen 117 6.1 Felder... 119 6.1.1 WassindFelder?... 122 6.1.2 Deklaration, Erzeugung und Initialisierung von Feldern.. 123 6.1.3 Felder unbekannter Länge... 126 6.1.4 Referenzen... 128 6.1.5 EinbessererTerminkalender... 133 6.1.6 MehrdimensionaleFelder... 134 6.1.7 Mehrdimensionale Felder unterschiedlicher Länge... 138 6.1.8 Vorsicht Falle: Kopieren von mehrdimensionalen Feldern. 140 6.1.9 Zusammenfassung... 141 6.1.10 Übungsaufgaben... 142 6.2 Klassen... 145 6.2.1 WassindKlassen?... 146 6.2.2 DeklarationundInstantiierungvonKlassen... 146

10 Inhaltsverzeichnis 6.2.3 Komponentenzugriff bei Objekten.... 148 6.2.4 EinerstesAdressbuch... 149 6.2.5 KlassenalsReferenzdatentyp... 151 6.2.6 FeldervonKlassen... 154 6.2.7 Vorsicht, Falle: Kopieren von geschachtelten Referenzdatentypen... 157 6.2.8 AuslagernvonKlassen... 158 6.2.9 Zusammenfassung... 160 6.2.10 Übungsaufgaben... 160 7 Unterprogramme, Methoden 163 7.1 Methoden... 164 7.1.1 WassindMethoden?... 164 7.1.2 DeklarationvonMethoden... 165 7.1.3 Parameterübergabe und -rückgabe.... 166 7.1.4 AufrufvonMethoden... 168 7.1.5 Überladen von Methoden... 170 7.1.6 Vorsicht,Falle!... 171 7.1.7 SichtbarkeitundVerdeckenvonVariablen... 174 7.1.8 Zusammenfassung... 175 7.1.9 Übungsaufgaben... 175 7.2 RekursivdefinierteMethoden... 176 7.2.1 Motivation... 176 7.2.2 DasAchtdamenproblem... 179 7.2.2.1 Aufgabenstellung... 179 7.2.2.2 Lösungsidee... 179 7.2.2.3 Erste Vorarbeiten: Die Methoden ausgabe und bedroht... 180 7.2.2.4 DieRekursion... 181 7.2.2.5 Die Lösung.... 184 7.2.3 Zusammenfassung... 186 7.2.4 Übungsaufgaben... 186 7.3 Die Methode main... 187 7.3.1 Zusammenfassung... 189 7.3.2 Übungsaufgaben... 189 7.4 Die Methoden der Klasse java.lang.math... 191 7.5 Die Methoden der Klasse java.lang.string.... 191 7.6 Übungsaufgaben... 194 8 Praxisbeispiele 199 8.1 Mastermind zum Ersten... 199 8.1.1 Aufgabenstellung... 199 8.1.2 AnalysedesProblems... 200 8.1.3 UnterteileneinerZahl... 200

Inhaltsverzeichnis 11 8.1.4 Gültigkeit einer Zahl.... 201 8.1.5 Finden einer gültigen Zahl.... 202 8.1.6 AnzahlderTreffer... 203 8.1.7 Ein-undAusgabe... 204 8.1.8 ZumHauptprogramm... 205 8.1.9 Das komplette Programm im Überblick..... 206 8.2 MastermindzumZweiten... 209 8.2.1 Aufgabenstellung... 209 8.2.2 AnalysedesProblems... 209 8.2.3 VerwendeteDatenstrukturen... 209 8.2.4 VergleichderVersuche... 210 8.2.5 ZumHauptprogramm... 211 8.2.6 Das komplette Programm im Überblick..... 212 8.3 BlackJack... 214 8.3.1 Aufgabenstellung... 214 8.3.2 AnalysedesProblems... 215 8.3.3 MischeneinesKartenspiels... 217 8.3.4 DiePflichtendesGebers... 218 8.3.5 ZumHauptprogramm... 219 8.3.6 Das komplette Programm im Überblick..... 222 8.3.7 Übungsaufgaben... 225 II Objektorientiertes Programmieren in Java 227 9 Die objektorientierte Philosophie 231 9.1 Die Welt, in der wir leben... 231 9.2 Programmierparadigmen Objektorientierung im Vergleich.... 232 9.3 Die vier Grundpfeiler objektorientierter Programmierung...... 234 9.3.1 Generalisierung.... 235 9.3.2 Vererbung... 236 9.3.3 Kapselung... 240 9.3.4 Polymorphismus... 242 9.3.5 WeiterewichtigeGrundbegriffe... 243 9.4 Modellbildung vonderrealenweltindencomputer... 244 9.4.1 Grafisches Modellieren mit UML..... 244 9.4.2 CRC-Karten... 245 9.4.3 Entwurfsmuster... 245 9.5 Zusammenfassung... 246 9.6 Übungsaufgaben... 248 10 Der grundlegende Umgang mit Klassen 251 10.1 Vom Referenzdatentyp zur Objektorientierung..... 251 10.2Instanzmethoden... 253

12 Inhaltsverzeichnis 10.2.1 Zugriffsrechte..... 253 10.2.2 WassindInstanzmethoden?... 254 10.2.3 InstanzmethodenzurValidierungvonEingaben... 257 10.2.4 Instanzmethoden als erweiterte Funktionalität.... 259 10.3StatischeKomponenteneinerKlasse... 260 10.3.1 Klassenvariablenund-methoden... 261 10.3.2 Konstanten... 263 10.4InstantiierungundInitialisierung... 267 10.4.1 Konstruktoren... 267 10.4.2 Überladen von Konstruktoren... 269 10.4.3 DerstatischeInitialisierer... 271 10.4.4 DerMechanismusderObjekterzeugung... 274 10.5Zusammenfassung... 279 10.6 Übungsaufgaben... 280 11Vererbung und Polymorphismus 301 11.1 Wozu braucht man Vererbung?... 301 11.1.1 Aufgabenstellung... 301 11.1.2 AnalysedesProblems... 302 11.1.3 EinersterAnsatz... 302 11.1.4 Eine Klasse für sich... 303 11.1.5 Stärken der Vererbung... 304 11.1.6 Übungsaufgaben... 306 11.2 Die super-referenz..... 308 11.3 Überschreiben von Methoden und Variablen... 309 11.4Die Klasse java.lang.object... 311 11.5 Übungsaufgaben... 314 11.6AbstrakteKlassenundInterfaces... 315 11.7 Übungsaufgaben... 319 11.8WeitereszumThemaObjektorientierung... 324 11.8.1 ErstellenvonPaketen... 324 11.8.2 Zugriffsrechte... 326 11.8.3 InnereKlassen... 326 11.8.4 AnonymeKlassen... 332 11.9Zusammenfassung... 334 11.10Übungsaufgaben... 335 12 Praxisbeispiele 347 12.1 Streng geheim..... 347 12.1.1 Aufgabenstellung... 347 12.1.2 AnalysedesProblems... 348 12.1.3 Verschlüsselung durch Aufblähen.... 349 12.1.4 XOR-Verschlüsselung... 351 12.1.5 EineinfacherTest... 353

Inhaltsverzeichnis 13 12.1.6 Übungsaufgaben... 355 12.2MastermindzumDritten... 356 12.2.1 Aufgabenstellung... 356 12.2.2 Die Klassen GameModel und GameEngine... 356 12.2.3 WirbaueneinModell... 360 12.2.3.1 GrundlegendeDatenstruktur... 360 12.2.3.2 ImplementierungdesInterfaces,Teil1... 361 12.2.3.3 ImplementierungdesInterfaces,Teil2... 363 12.2.4 Programmstart... 365 12.2.5 Fazit... 365 12.2.6 Übungsaufgaben... 366 12.3GameofLife... 366 12.3.1 Aufgabenstellung... 366 12.3.2 Designphase... 367 12.3.3 Die Klasse Zelle... 370 12.3.4 Die Klasse Petrischale... 372 12.3.4.1 Interne Struktur und einfacher Datenzugriff.... 372 12.3.4.2 Erster Konstruktor: Zufällige Belegung der Zellen 374 12.3.4.3 Zweiter Konstruktor: Die neue Generation..... 376 12.3.4.4 Die komplette Klasse im Überblick..... 378 12.3.5 Die Klasse Life... 380 12.3.6 Fazit... 382 12.3.7 Übungsaufgaben... 383 13 Exceptions und Errors 385 13.1 Eine Einführung in Exceptions... 386 13.1.1 WasisteineException?... 386 13.1.2 Übungsaufgaben... 388 13.1.3 AbfangenvonExceptions... 389 13.1.4 EinAnwendungsbeispiel... 390 13.1.5 Die RuntimeException... 393 13.1.6 Übungsaufgaben... 396 13.2 Exceptions für Fortgeschrittene... 398 13.2.1 DefiniereneigenerExceptions... 398 13.2.2 Übungsaufgaben... 400 13.2.3 VererbungundExceptions... 402 13.2.4 Vorsicht,Falle!... 405 13.2.5 Der finally-block.... 407 13.2.6 Die Klassen Throwable und Error... 412 13.2.7 Zusammenfassung... 413 13.2.8 Übungsaufgaben... 414

14 Inhaltsverzeichnis 14 Zu guter Letzt... 417 14.1 Collections... 418 14.2SortierenvonFeldern... 420 14.3 Grafische Oberflächen in Java... 423 A Der Weg zu einem guten Programmierer... 429 A.1 Die goldenen Regeln der Code-Formatierung... 430 A.2 DiegoldenenRegelnderNamensgebung... 433 A.3 Zusammenfassung... 435 B DieIOTools Tastatureingaben in Java 439 B.1 Kurzbeschreibung... 439 B.2 AnwendungderIOTools-Methoden... 440 C Glossar 443 Literaturverzeichnis 453 Stichwortverzeichnis 455