Java Programmierung
Eine Einführung

Ausgangspunkt - Endpunkt

Tagesablauf

Übersicht

Inhalt: erste Schritte

Grundlagen Programmierung:
Compiler

Grundlagen Programmierung: Interpreter

Grundlagen Programmieren(1)

Grundlagen Programmieren(2)

Wo steht Java?

Ausführung von Programmen: Laufzeitsysteme

Plattform unabhängig

Ausführung von Programmen: Bibliotheken

Ausführung von Programmen:
Binden

Werkzeuge(1)

Werkzeuge(2)

Was ist Java?

Objekt Orientiert

einfach zu lernen

Geschichte

Geschichte

Überblick über den Sprachstandard

Traditionelles Programmieren

Java Programme

Java SDK 1.3

Verschiedene Platformen

Prozedurahle Konzepte

Übersetzung und Ausführung
von Java-Programmen

Klassen

Dokumentation in Java

Beispiel: HelloWorld als Anwednung

Beispiel: Hello World als Applet(1)

Beispiel: Hello World als Applet(2)

Bezeichner

Datentypen in Java

Literale (explizite Werteangaben)

Escape - Sequenzen

Variablen(1)

Variablen(2)

Lebensdauer und Geltungsbereich

Zuweisungen

Ausdrücke

Operatoren(1)

Einschub: Boolesche Operatoren

Operatoren(2)

Inkrement und Dekrement(1)

Inkrement und Dekrement(2)

Auswertung zusammengesetzter Ausdrücke(1)

Auswertung zusammengesetzter Ausdrücke(2)

Reihenfolge der Operatoren

Konstanten

Verknüpfung von Zeichenketten

Übung: Mehr zu Zeichenketten

Lösung: Mehr zu Zeichenketten

Konvertierung von Datentypen

Ende Tag 1: Übersicht

Tag 2: Endlich Klassen

(Klassen-)Methoden(1)

(Klassen-)Methoden(2)

(Klassen-)Methoden(3)

Methodenaufrufe

Rückgabewerte von Methoden

Überladung von Methoden

Rekursion

Felder (Reihungen)(1)

Felder (Reihungen)(2)

Anweisungen

Einfache Fallunterscheidung

Mehrfache Fallunterscheidung

Schleifen - while

Schleifen - for

Abbruchanweisung(1)

Beispiel Abbruchanweisung

Methode main(String [] args)(1)

Methode main(String [] args) (2)

Konventionen zur Bezeichnerwahl

Übung Felder

Tips zur Übung Felder

Lösung zur Übung Felder(1)

Lösung zur Übung Felder(2)

War doch gar nicht so schwer...

Übung: Bedingte Anweisungen

Lösung: Bedingte Anweisungen

Übung: Palindrome

Lösung: Palindrome(1)

Lösung: Palindrome(2)

Lösung: Palindrome(3)

Objektorientierung

Klassen, Instanzen & Co

Objekte

Definitionen

Beispiel Klasse Tree

Klassen und Objekte (1)

Klassen und Objekte (2)

Klassendeklaration

Kommunikation

Beispiel Klassen, Instanzen(1)

Beispiel Klassen, Instanzen(2)

Konstruktoren

Beispiel Konstruktoren(1)

Beispiel Konstruktoren(2)

Schlüsselwort static

Übung: Schlüsselwort static

Lösung: Schlüsselwort static

Gleichheit von Referenztypen

Referenzgeflecht und Speicherbereinigung(1)

Referenzgeflecht und Speicherbereinigung(2)

Wertübergabe (call by value)

Referenzübergabe (call by referenz)

Schlüsselwort this

Beispiel: Referenz auf das implizite Argument einer Instanzmethode

Beispiel: Umgehen mit Verschattung

Übung: Anagram(1)

Übung: Anagram(1)

Übung: Anagram(2)

Übung: Anagram(3)

Lösung: Anagram(1)

Lösung: Anagram(2)

Ende Tag 2: Übersicht

Tag 3: Grundlagen Objektorientierung

Wichtige Ziele der OO-Modellierung

Wichtige Techniken der OO-Programmierung

Klassenhierachien(1)

Klassenhierachien(2)

Klassenhierachien(3)

Beispiel: Klassenhierachie „Bicycle“

Kapselung

Vererbung(1)

Vererbung(2)

Vererbung(3)

Überschreiben von Methoden(1)

Überschreiben von Methoden(2)

Überschreiben von Methoden(3)

Polymorphismus

Abstrakte Klassen(1)

Abstrakte Klassen(2)

Zugriffsrechte(1)

Zugriffsrechte(2)

Garbage Collection

Übung:
Objektorientierte Modellierung

Übung:
Objektorientierte Modellierung(a)

Lösung:
Objektorientierte Modellierung(a)

Übung:
Objektorientierte Modellierung(b)

Lösung:
Objektorientierte Modellierung(b)

Übung:
Objektorientierte Modellierung(c)

Lösung:
Objektorientierte Modellierung(c1)

Lösung:
Objektorientierte Modellierung(c2)

Lösung:
Objektorientierte Modellierung(c3)

Lösung:
Objektorientierte Modellierung(c4)

Lösung:
Objektorientierte Modellierung(c5)

Übung:
Objektorientierte Modellierung(d)

Lösung:
Objektorientierte Modellierung(d1)

Lösung:
Objektorientierte Modellierung(d2)

Bemerkung:
Objektorientierte Modellierung(d3)

Übung:
Objektorientierte Modellierung(e)

Ende Tag 3:
Grundlagen Objektorientierung

Tag 4: Objektorientierung vertiefen

Schnittstellen(1)

Schnittstellen(2)

Beispiel: interface Hammer

Implementierung von Schnittstellen

Pakete (packages) (1)

Pakete (packages) (2)

Paket: java.lang

Übersicht Packages(1)

Übersicht Packages(2)

Übersicht Packages(3)

Applet(1)

Applet(2)

Beispiel: Hello World als Applet(1)

Beispiel: Hello World als Applet(2)

Übung: etwas Grafik

Übung: etwas Grafik

Lösung: etwas Grafik(1)

Lösung: etwas Grafik(2)

Eigenes Fenster entwerfen

Eigenes Fenster entwerfen

Eigenes Fenster entwerfen

Ausnahmen

Klassendiagramm java.lang.Exceptions

Abfangen von Ausnahmen

try - Anweisung

finally - Block

Ausnahmen bei Methodendefinitionen(1)

Ausnahmen bei Methodendefinitionen(2)

throw - Anweisung(1)

throw - Anweisung(2)

Ausnahme bei Aufruf

throws - Klausel

Ausnahme durch Aufruf

Ausnahmen

Schleifen

Ausnahmen und Schleifen

Ende Tag 4:
Objektorientierung vertiefen

Tag 5: Kommunikation in Java

Threads

Was sind Threads?

Methoden aus der Klasse java.lang.Thread

Methoden aus der Klasse java.applet.Applet

Thread-Erzeugung

Mehrere Threads

Zugriffskonflikte

Synchronisation zwischen Threads(1)

Synchronisation zwischen Threads(2)

Synchronisation zwischen Threads(3)

Datenbanken - JDBC

JDBC Befehle(1)

JDBC Befehle(2)

JDBC Befehle(3)

Übung: Alles zusammen...(1)

Übung: Alles zusammen...(2)

Lösung: Alles zusammen...(1)

Lösung: Alles zusammen...(2)

Lösung: Alles zusammen...(3)

Übung: Dateioperationen

Lösung: Dateioperationen

Übung: Firmenstruktur abbilden

Ausblick

Quellen

Danke für die Aufmerksamkeit!