Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 1. Vorlesung WS 2001/2002 Allgemeines • Ansprechpartner: Dr. Thomas Kolbe – – – – Tel.: 73 - 1760 E-Mail: [email protected] Sprechstunde: Montags von 11 – 13 Uhr Büro: 1. Etage, neben dem GIS-Labor • Ort: GIS-Labor ( www.ikg.uni-bonn.de/gislabor ) • Zeitplanung: – nur eine Gruppe – Mittwochs von 14:15 Uhr bis 15:30 Uhr, davon • 30 min Übung • 45 min Vorlesung T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 2 Schein • Keine Pflicht (Wahlpflichtveranstaltung) – keine Klausur • allerdings hilfreich als Nachweis einer erfolgreichen Teilnahme für – Bafög – Bewerbungen (auch auf HiWi-Jobs) – Eltern etc. • Voraussetzung für die Erteilung: – regelmäßige Teilnahme an der Veranstaltung – regelmäßige Bearbeitung der Übungsaufgaben T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 3 Übungsaufgaben • Wie beim Kochen: – Übung macht den Meister • Bearbeitung der Übungsaufgaben: – pro abgegebener Lösung max. zwei Personen – Abgabe bis spätestens zum Anfang der nächsten Veranstaltung • Alle Lösungen bitte in Papierform und bei Programmen zusätzlich per Email (als Attached Documents) oder auf Diskette • Einwurf der Ausarbeitungen in den Briefkasten im Erdgeschoss, neben dem Ausgang zum Hof • Probieren hilft enorm beim Studieren! T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 4 Vorlesungsübersicht • Allgemeine Einführung in die Programmierung – Variablen, Konstanten, Datentypen, Arithmet. Operationen – Kontrollstrukturen – Implementierung (Realisierung) von Algorithmen • Einführung in Java-spezifische Konzepte – Objektorientierte Programmierung • Objekte, Klassen, Methoden • Vererbung und Polymorphismus – Ausnahmebehandlung – Ein- / Ausgabeoperationen – Grafische Benutzerschnittstelle T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 5 Allgemeines zu Java • Universelle, objektorientierte Programmiersprache – Konzepte geerbt von Simula, Smalltalk, C++ – Syntax angelehnt an C und C++ • Große standardisierte Funktionsbibliotheken (z.B. Grafik, Fenster, Datenstrukturen uvm.) • Automatische Speicherverwaltung • Plattformunabhängig (Windows, Linux, Mac, ...) • Verschiedene Einsatzgebiete – eigenständige Programme – in Webseiten eingebettete Programme, sog. Applets T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 6 Literatur zu Java • Java als erste Programmiersprache von J. Goll, C. Weiß und F. Müller 3. Auflage, Teubner Verlag, 2001, DM 72,-• Go To Java 2 von Guido Krüger Addison-Wesley, ca. DM 100,-• Einführung in die objektorientierte Programmierung mit Java von E.-E. Doberkat, S. Dißmann Oldenbourg Verlag, 1999, ca. DM 68,-• Java 2 vom Rechenzentrum der Uni, DM 11,-- T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 7 Internetseiten zu Java • Firma Sun (Entwickler von Java) http://java.sun.com • Online-Version des Buchs „Go To Java 2“ von G. Krüger http://www.javabuch.de im GIS-Labor direkt aufrufbar / kopierbar unter: file://V|/java/gj22/html/cover.html • Weitere Informationen (Online-Kurse etc.) unter http://www.ikg.uni-bonn.de/links/links_frame.htm unter Menüpunkt „Bücher, Tutorien, etc.“ T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 8 Das erste Java-Programm: „Hello World“ .java-Datei Quelltext, engl.: Source code Programm „HelloWorld.java“ Ausgabe: class HelloJava { public static void main (String args[]) { System.out.println("Hallo Welt!"); } } Hallo Welt! T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 9 Programmablauf: Zuerst Kompilieren, dann Interpretieren .java-Datei .class-Datei (Quelltext, engl.: Source code) T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 10 Schritte bis zum Ablauf eines Programms 1. Erstellung des Quelltextes als Textdatei mit der Dateiendung .java Das Programm wird in den Rechner eingegeben. 2. Kompilierung des Quelltextes in Java-Bytecode Das „menschenlesbare“ Programm wird in ein „maschinenlesbares“ Programm übersetzt. 3. Interpretieren des Java-Bytecodes durch die sogenannte Java Virtual Machine (JVM) Das Programm wird vom Computer ausgeführt. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 11 Werkzeuge • Java Developer Kit JDK 1.3.1 – Java-Compiler javac zum Übersetzen von Quelltexten in Java-Bytecode – Java-Interpreter java zur Ausführung von Java-Bytecode-Programmen – Applet-Betrachter appletviewer zum Ausprobieren von Java-Applets • Einfacher Editor (z.B. Notepad oder Wordpad) Besser: Integrierte Entwicklungsumgebung Forté – Editor zur Erstellung von Quelltexten – Automatisches Aufrufen des Compilers und Interpreters – Debugger zur Fehlersuche T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 12 „Hello World“ mit Forté Auf den folgenden Folien wird gezeigt, wie das Beispielprogramm „HelloWorld“ mit der Entwicklungsumgebung Forté erstellt und ausgeführt werden kann. Schritt 1: Starten von Forté durch Doppelklick auf T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 13 Beim ersten Start von Forté 1. Option ausschalten (Haken verschwindet) 2. Fenster schließen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 14 Bedienelemente von Forté Edit-Tab Hauptfenster Explorer-Fenster Filesystems-Tab T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 15 2. Schritt: Angabe des Arbeitsverzeichnisses (a) Klicken Sie mit der rechten Maustaste auf Filesystems im Explorer-Fenster. Wählen Sie Mount Directory aus. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 16 2. Schritt: Angabe des Arbeitsverzeichnisses (b) 1. Wählen Sie das Verzeichnis U:\ (Ihr persönlicher Privatbereich) 2. Klicken Sie auf Neuen Ordner erstellen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 17 2. Schritt: Angabe des Arbeitsverzeichnisses (c) Tippen Sie Java ein und drücken Sie die Return-Taste T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 18 2. Schritt: Angabe des Arbeitsverzeichnisses (d) 1. Wählen Sie das neue Verzeichnis mit einem einfachen Klick an 2. Klicken Sie auf Mount T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 19 2. Schritt: Angabe des Arbeitsverzeichnisses (e) Das neue Verzeichnis erscheint im ExplorerFenster T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 20 3. Schritt: Anlegen eines neuen Programms (a) Klicken Sie mit der rechten Maustaste auf Ihr Verzeichnis und wählen Sie New | Classes | Main aus T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 21 3. Schritt: Anlegen eines neuen Programms (b) 1. Name des Programms angeben. Tippen Sie hier HelloWorld ein und klicken Sie auf Finish. 2. Programm zum Projekt hinzufügen. Klicken Sie hier auf Yes. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 22 3. Schritt: Anlegen eines neuen Programms (c) Das Programmgerüst erscheint im QuelltextEditor (Source Editor). T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 23 4. Schritt: Editieren und Ablaufen des Programms 2. Klicken Sie auf das Diskettensymbol, um die Ergänzungen abzuspeichern 3. Klicken Sie auf den grünen Pfeil, um das Programm zu kompilieren und zu starten 1. Geben Sie die Zeile System.out.println(“Hallo Welt!“); an der gezeigten Stelle ein. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 24 Programmausgabe Ein- und Ausgaben finden im Ein-/AusgabeFenster statt T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 25 Kommentare im Programmquelltext • Zur Erhöhung der Lesbarkeit sollten alle Programmteile durch Kommentare näher erläutert werden. – Kommentare werden vom Compiler überlesen • Einzeilige Kommentare – Einleitung durch // – Beendigung durch Zeilenende – Beispiel: // Dies ist ein Kommentar • Längere Kommentare – Einleitung mit /* – Beendigung durch */ – Beispiel: /* Dies ist ein Kommentar */ T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 26 Beispielprogramm mit Kommentaren Programm Rechnen.java Ausgabe: // Programm zur Berechnung von 14+12*3 50 class Rechnen { // Ein einzeiliger Kommentar public static void main (String args[]) { System.out.println(14+12*3); } } /* Hier beginnt ein Kommentar, der sich über mehrere Zeilen erstrecken kann */ T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 27 Übungsaufgabe • Ausgabe einer Visitenkarte auf dem Bildschirm z.B.: ********************************** * * * Thomas H. Kolbe * * Wissenschaftlicher Assistent * * am IKG, Uni Bonn * * * ********************************** T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02 28