Java als erste Programmiersprache

Ähnliche Dokumente
TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll. Java als erste Programmiersprache

С als erste Programmiersprache

Cornelia Heinisch Frank Müller-Hofmann Joachim Goll. Java als erste Programmiersprache

Java als erste Programmiersprache

Cornelia Heinisch Frank Müller-Hofmann Joachim Goll. Java als erste Programmiersprache

Manfred Dausmann Ulrich BröckI Dominik Schoop Joachim Goll C als erste Programmiersprache

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll. Java als erste Programmiersprache

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

C als erste Programmiersprache

Geschachtelte Klassen

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Objektorientiertes Programmieren in C++

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Liste Programmieren Java Überblick

Einstieg in die Informatik mit Java

Objektorientierte Programmierung mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Geschachtelte Klassen

Einführung und Vorstellung: Grundlagen der Java- Programmierung. paluno

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Einführung in die Programmiersprache Java II

Grundkurs Software- Entwicklung mit C++

Programmieren mit Java

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Einführung in die Programmiersprache C#

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Inhalt. Vorwort. Bibliografische Informationen digitalisiert durch

Visual Basic.NET mit Methode

Programmieren in Java

Vorkurs Informatik WiSe 17/18

Netzwerkprogrammierung unter Linux und UNIX

Programmieren 2 Java Überblick

Stand: Semester: Dauer: Modulnummer: Minimaldauer 1 Semester IOBP. Regulär angeboten im: Modultyp: Pflicht WS, SS

Algorithmen und Datenstrukturen

Java in a Nutshell O'REILLY. Deutsche Übersetzung von Peter Klicman. Cambridge Köln Paris Sebastopol Tokyo

Grundkurs Programmieren in Java

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Inhaltsverzeichnis. Vorwort

Vorkurs Informatik WiSe 16/17

Grundkurs Programmieren in Java

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

Einstieg in die Informatik mit Java

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Kapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen

Einführung in C# Teil 1. Matthias Nübling

Objektorientiert in C++

Repetitorium Informatik (Java)

Grundlagen der Informatik 0

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN:

Prof. W. Henrich Seite 1

Vorwort zur sechsten Auflage

Praktische Informatik 1

Inhaltsverzeichnis. Vorwort Einleitung Ein Blick auf Entwicklungstools und erste Beispiele... 39

SmallTalk - Eine kurze Einführung

Java Datentypen und Variablen

Grundkurs Programmieren in Java

Java Virtual Machine (JVM) Bytecode

Objective-C 2.0. Programmierung für Mac OS X und iphone. von Sebastian Meyer, Torben Wichers. 2., überarb. Aufl. 2011

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

10. Pakete. Ein Paket (package) bündelt thematisch zusammengehörige Klassen und Schnittstellen zu einer Klassenbibliothek.

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Empfehlenswerte Literatur

Web-Techniken Einführung in JavaScript

C für Java-Programmierer

Prinzipien der objektorientierten Programmierung (OOP)

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen

Werner Achte rt DATA BECKER

1 Einführung Grundbausteine eines Java-Programms Kontrollstrukturen Einführung in Edipse Klassen und Objekte 156

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung. Kapitel 1 Objekte und Klassen Objekte und Klassen Instanzen erzeugen Methoden aufrufen

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Programmierung in C/C++

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Objektorientiertes Programmieren

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg.

Einstieg in die Informatik mit Java

Kapitel 4: Klassen und Unterklassen

Abschnitt 7: Beispiel: Die Klasse String (Teil 1)

Objektorientierte Programmierung Studiengang Medieninformatik

Beschreibung des Angebotes. Java Programmierung. LernenimInternet. Ansprechpartner. Angebot-Nr Angebot-Nr Weiterbildung.

Algorithmen und Datenstrukturen II

Die С ++-Programmiersprache

Java lernen mit BlueJ

Vorlesung Programmieren

Java I Vorlesung 6 Referenz-Datentypen

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Java lernen mit BlueJ

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005

Praktikum Softwareentwicklung 2

Vererbung und Polymorphie

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

Transkript:

Joachim Goll Cornelia Weiß Frank Müller Java als erste Programmiersprache Vom Einsteiger zum Profi 3., durchgesehene und erweiterte Auflage Teubner B.G.Teubner Stuttgart Leipzig Wiesbaden

\ 1 GRUNDBEGRIFFE DER PROGRAMMIERUNG 2 1.1 Probleme und Algorithmen 2 1.2 Entwicklung der höheren Programmiersprachen 14 1.3 Der objektorientierte Ansatz 18 2 EINFÜHRUNG IN DIE PROGRAMMIERSPRACHE JAVA 40 2.1 Sprachkonzepte von Java 40 2.2 Eigenschaften von Java 41 2.3 Die Java-Plattform 42 2.4 Programmerzeugung und -ausführung 48 2.5 Die Entwicklung von Java-Programmen mit dem Java Development Kit 54 2.6 Java-Anwendungen, Java-Applets und Java-Script 57 2.7 Klassen in Java 58 2.8 Starten von Java-Anwendungen und von Java-Applets 58 3 LEXIKALISCHE KONVENTIONEN 62 3.1 Zeichenvorrat von Java 62 3.2 Lexikalische Einheiten 65 4 EINFACHE BEISPIELPROGRAMME 82 4.1 Das Programm Hello, world" 82 4.2 Programm zur Umrechnung von Fahrenheit in Celsius 84 4.3 Zeichenzählprogramm 88 4.4 Klasse Punkt mit Konstruktor 91 5 DATENTYPEN UND VARIABLEN 96 5.1 Datentypen 96 5.2 Variablen 106 5.3 Modifikatoren 121 5.4 Arrays 122 5.5 Konstante und variable Zeichenketten 134 5.6 Wrapper-Klassen 144 5.7 Verkettung von Strings und Variablen anderer Datentypen 147 6 AUSDRÜCKE UND OPERATOREN 150 6.1 Operatoren und Operanden 150 6.2 Ausdrücke und Anweisungen 152 6.3 Nebeneffekte 153

VIII 6.4 Auswertungsreihenfolge 154 6.5 L-Werte und R-Werte 156 6.6 Zusammenstellung der Operatoren 157 6.7 Konvertierung von Datentypen 175 6.8 Ausführungszeitpunkt von Nebeneffekten 184 7 KONTROLLSTRUKTUREN 188 7.1 Blöcke - Kontrollstrukturen für die Sequenz 188 7.2 Selektion 188 7.3 Iteration 194 7.4 Sprunganweisungen 199 8 BLÖCKE UND METHODEN 204 8.1 Struktur eines Blockes 204 8.2 Die leere Anweisung 2Q5 8.3 Lokale Variablen 205 8.4 Schachtelung von Blöcken 206 8.5 Gültigkeit, Sichtbarkeit und Lebensdauer 207 8.6 Methoden 209 8.7 Übergabe von Parametern beim Programmaufruf 225 8.8 Iteration und Rekursion 226 9 KLASSEN UND OBJEKTE 232 9.1 Information Hiding 232 9.2 Klassenvariablen und Klassenmethoden - das Schlüsselwort static 234 9.3 Die this-referenz 239 9.4 Initialisierung von Datenfeldern 245 9.5 Instantiierung von Klassen 261 9.6 Freigabe von Speicher 264 9.7 Die Klasse Object 267 9.8 Die Klasse Class 268 10 VERERBUNG UND POLYMORPHIE 272 10.1 Das Konzept der Vererbung 272 10.2 Polymorphie und das Liskov Substitution Principle 277 10.3 Konstruktoren bei abgeleiteten Klassen 284 10.4 Typkonvertierung von Referenzen 288 10.5 Verdecken und Überschreiben 295 10.6 Verträge von Methoden 313 10.7 Identifikation der Klasse eines Objektes 318

IX 10.8 Abstrakte Basisklassen 323 10.9 Konsistenzhaltung von Quell- und Bytecode 325 11 PAKETE 330 11.1 Programmierung im Großen" 330 11.2 Pakete als Entwurfseinheiten 332 11.3 Erstellung von Paketen 333 11.4 Benutzung von Paketen 335 11.5 Paketnamen 337 11.6 Gültigkeitsbereich von Klassennamen 341 11.7 Zugriffsmodifikatoren 343 12 AUSNAHMEBEHANDLUNG - EXCEPTION HANDLING 352 12.1 Das Konzept des Exception Handlings 352 12.2 Implementierung von Exception-Handlern in Java 354 12.3 Ausnahmen vereinbaren und auswerfen 358 12.4 Die Exception-Hierarchie 360 12.5 Ausnahmen behandeln 363 12.6 Einschränkungen beim Überschreiben von Methoden 370 12.7 Vorteile des Exception-Konzeptes 370 13 SCHNITTSTELLEN 372 13.1 Trennung von Spezifikation und Implementierung 372 13.2 Ein weiterführendes Beispiel 374 13.3 Aufbau einer Schnittstelle 378 13.4 Verwenden von Schnittstellen 381 13.5 Vergleich Schnittstelle und abstrakte Basisklasse 393 13.6 Das Interface Cloneable 396 13.7 Das Interface Comparable 402 14 GESCHACHTELTE KLASSEN 408 14.1 Elementklassen 410 14.2 Lokale Klassen 415 14.3 Anonyme Klassen 419 14.4 Statische geschachtelte Klassen und statische geschachtelte Schnittstellen 423 14.5 Realisierung von geschachtelten Klassen 425 15 EIN-/AUSGABE UND STREAMS 432 15.1 Ein- und Ausgabe 432 15.2 Streams 434 15.3 Klassifizierung von Stream-Klassen 435 15.4 Einteilung der Stream-Klassen 441

X 15.5 Ein- und Ausgabe von Bytes 452 15.6 Ein- und Ausgabe von Daten primitiver Typen 456 15.7 Standardeingabe und Standardausgabe 459 15.8 Ein- und Ausgabe von Zeichen 460 15.9 Ein- und Ausgabe von Objekten 465 16 COLLECTIONS 474 16.1 Listen 475 16.2 Collections ohne Duplikate - Sets 488 16.3 Collections mit Schlüssel-Wert-Paaren - Maps 492 17 THREADS 498 17.1 Zustände und Zustandsübergänge von Betriebssystem-Prozessen 503 17.2 Zustände und Zustandsübergänge von Threads 504 17.3 Programmierung von Threads 507 17.4 Scheduling von Threads 515 17.5 Zugriff auf gemeinsame Ressourcen 516 17.6 Daemon-Threads 538 18 DIE ARCHITEKTUR DER VIRTUELLEN MASCHINE 542 18.1 Ausführungs-Maschine 543 18.2 Method-Area 544 18.3 Klassenlader 544 18.4 Bytecode-Verifier 546 18.5 Native Method Linker 547 18.6 Garbage Collected Heap 547 18.7 Security Managerund Access Controller 547 19 DAS JAVA NATIVE INTERFACE 550 19.1 Aufruf und Implementierung von nativen Methoden 552 19.2 Architektur des Java Native Interface 557 19.3 Namensraum von nativen Methoden 561 19.4 Namenskonventionen 563 19.5 Java-Datentypen und native Datentypen 565 19.6 Zugriff auf Java-Methoden in nativem Code 568 20 APPLETS 582 20.1 Die Seitenbeschreibungssprache HTML 583 20.2 Das Hello, world"-applet 593 20.3 Der Lebenszyklus eines Applets 595 20.4 Parameterübernahme aus einer HTML-Seite 599

I XI 20.5 Importieren von Bildern 600 20.6 Importieren und Abspielen von Audio-Clips 601 21 OBERFLÄCHENPROGRAMMIERUNG MIT SWING 604 21.1 Die Java Foundation Classes 604 21.2 Die Swing-Klassenbibliothek 606 21.3 Anordnung von Komponenten - der Layout-Manager 642 21.4 Verarbeitung von Ereignissen - Eventhandling 647 22 SICHERHEIT IN JAVA 666 22.1 Bedrohungen und Sicherheitsfunktionen 666 22.2 Sicherheitsforderungen an die Java-Plattform 670 22.3 Übertragungssicherheit und Authentifizierung mit Signaturen 671 22.4 Sicherheitsarchitektur der Java Virtuellen Maschine 672 22.5 Die Sandbox-Sicherheitspolitik 678 22.6 Beispielprogramm für die Rechteverwaltung 679 23 BEANS 692 23.1 Beans - Komponenten einer Komponententechnologie 692 23.2 Grundsätzliche Eigenschaften einer Bean 696 23.3 Einführendes Beispiel 699 23.4 Besonderheiten einer Bean-Klasse 700 23.5 Die JavaBeans-API 709 23.6 Eine Bean als Java-Anwendung 711 23.7 Einbindung von Beans in JAR-Dateien 716 24 SERVLETS 720 24.1 Das Internet und seine Dienste 720 24.2 Dynamische Erzeugung von Seiteninhalten 728 24.3 Web-Anwendungen und deren Erstellung 741 24.4 Ablaufumgebung von Servlets 743 24.5 Überblick über wichtige Elemente der Servlet-API 744 24.6 Neuerungen der Spezifikation 2.3 748 24.7 Programmcode zum Servlet 749 25 NETZWERKPROGRAMMIERUNG MIT SOCKETS 754 25.1 Verteilte Systeme 754 25.2 Rechnername, URL und IP-Adresse 757 25.3 Sockets 761 25.4 Protokolle 777

XII 26 REMOTE METHOD INVOCATION 780 26.1 Die Funktionsweise von RMI 780 26.2 Entwicklung einer RMI-Anwendung 782 26.3 Ein einfaches Beispiel 785 26.4 Object by Value und Object by Reference 790 26.5 Echtes" RMI 793 27 JDBC 800 27.1 Einführung in SQL 801 27.2 JDBC-Treiber 808 27.3 Zugriff auf ein DBMS 810 27.4 Datentypen 824 27.5 Exceptions 825 27.6 Metadaten 825 27.7 JDBC Erweiterungspaket 826 ANHANG A DER ASCII-ZEICHENSATZ 829 ANHANG В JAVA-TOOLS UND -LAUFZEITUMGEBUNG 832 ANHANG С GÜLTIGKEITSBEREICHE VON NAMEN 845 ANHANG D HINWEISE FÜR C++ PROGRAMMIERER 850 LITERATURVERZEICHNIS 855 BEGRIFFSVERZEICHNIS 856 INDEX 865 «