Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2003 Allgemeines • Ansprechpartner: Dr. Gerhard Gröger – – – – Tel.: 73 - 1764 E-Mail: [email protected] Sprechstunde: Mittwochs von 12 – 14 Uhr Büro: Basement links, Eingang Parkplatz • Ort: GIS-Labor ( www.ikg.uni-bonn.de/gislabor ) • Zeitplanung: – nur eine Gruppe – Mittwochs von 14:15 Uhr bis 15:45 Uhr, davon • 45 min Vorlesung • 45 min Übung G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 2 Allgemeines – Nutzung GIS-Labor 1. Benutzerantrag ausfüllen GIS-Labor + Transponder (liegen im GIS-Labor oder hängen am Brett am Ausgang zum Hof) Transponder: Studenten- und Personalausweis + 10€ Pfand 2. Abgabe im Sekretariat von Prof. Dr. Plümer Frau Schmacke Di & Do 9 –12h Benutzerkennung sofort Account - Freischaltung innerhalb einer Woche Transponder (= elektronischer Schlüssel für Türen) freier Zugang Mo-Fr 8-20h http://www.ikg.uni-bonn.de/zugang G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 3 Allgemeines – Nutzung GIS-Labor • • Passwort = Benutzer-Account-Name beim ersten Login Passwort ändern (automatische Abfrage) – Groß- und Kleinschreibung!!! • • Laufwerk U: Laufwerk V: • • • Hard-Quota: 100 MB Soft-Quota: 150 MB max. eine Woche Keine Daten lokal auf den Rechnern – keine Garantie persönliche Daten gemeinsame Daten http://www.ikg.uni-bonn.de/gislabor/ G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 4 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 und Abgabe der Übungsaufgaben G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 5 Hausaufgaben • Wie beim Kochen: – Übung macht den Meister • Bearbeitung der Hausaufgaben: – 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) an [email protected]; Dateiname = Nachname(n) • Einwurf der Ausarbeitungen in den weißen Briefkasten im Erdgeschoss, neben dem Ausgang zum Hof • Probieren geht über Studieren! G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 6 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 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 7 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.) • Plattformunabhängig (Windows, Linux, Mac, ...) • Verschiedene Einsatzgebiete – eigenständige Programme – in Webseiten eingebettete Programme, sog. Applets G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 8 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,-– Online-Version:http://www.javabuch.de oder im GISLabor: file://V|/java/gj22/html/cover.html • 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,-G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 9 Internetseiten zu Java • Firma Sun (Entwickler von Java) http://java.sun.com • Weitere Informationen (Online-Kurse etc.) unter http://www.ikg.uni-bonn.de/links/links_frame.htm unter Menüpunkt „Bücher, Tutorien, etc.“ G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 10 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! G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 11 Programmablauf: Zuerst Kompilieren, dann Interpretieren Compilieren Interpretieren .java-Datei .class-Datei (Quelltext, engl.: Source code) G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 12 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. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 13 Werkzeuge • Java Developer Kit J2SDK 1.4 – 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 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 14 Programmablauf: Zuerst Kompilieren, dann Interpretieren Compilieren javac Interpretieren java .java-Datei .class-Datei (Quelltext, engl.: Source code) G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 15 „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 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 16 Beim ersten Start von Forté Dieses Feld erscheint beim ersten Starten von Forte. Hier muss als Verzeichnis c:\temp eingetragen und durch klicken auf OK bestätigt werden. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 17 Beim ersten Start von Forté Weiter durch „Cancel“, da wir den „iPlanet Web Server" nicht brauchen. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 18 Beim ersten Start von Forté Weiter durch „Cancel“, da wir den „iPlanet Web Server" nicht brauchen. „Enabled“ False G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 19 Start von Forté Weiter mit „No“ G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 20 Beim ersten Start von Forté Der (neue) Willkommensbildschirm Auf "Close" klicken G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 21 Bedienelement von Forté Edit-Tab Hauptfenster Explorer-Fenster Filesystems-Tab G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 22 2. Schritt: Angabe des Arbeitsverzeichnisses (a) Klicken Sie mit der rechten Maustaste auf Filesystems im Explorer-Fenster. Wählen Sie Mount Directory aus. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 23 2. Schritt: Angabe des Arbeitsverzeichnisses (b) 1. Wählen Sie das Verzeichnis U:\ (Ihr persönlicher Privatbereich) 2. Klicken Sie auf Neuen Ordner erstellen G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 24 2. Schritt: Angabe des Arbeitsverzeichnisses (c) Tippen Sie Java ein und drücken Sie die Return-Taste G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 25 2. Schritt: Angabe des Arbeitsverzeichnisses (d) 1. Wählen Sie das neue Verzeichnis mit einem einfachen Klick an 2. Klicken Sie auf Mount G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 26 2. Schritt: Angabe des Arbeitsverzeichnisses (e) Das neue Verzeichnis erscheint im ExplorerFenster G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 27 3. Schritt: Anlegen eines neuen Programms (a) Klicken Sie mit der rechten Maustaste auf Ihr Verzeichnis und wählen Sie New | Classes | Main aus G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 28 3. Schritt: Anlegen eines neuen Programms (b) 1. Name des Programms angeben. Tippen Sie hier HelloWorld ein und klicken Sie auf Finish. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 29 3. Schritt: Anlegen eines neuen Programms (c) Das Programmgerüst erscheint im QuelltextEditor (Source Editor). G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 30 4. Schritt: Editieren und Ablaufen des Programms 3. Klicken Sie auf den grünen Pfeil, um das Programm zu kompilieren und zu starten 2. Klicken Sie auf das Diskettensymbol, um die Ergänzungen abzuspeichern 1. Geben Sie die Zeile System.out.println(“Hallo Welt!“); an der gezeigten Stelle ein. G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 32 Programmausgabe Ein- und Ausgaben finden im Ein-/AusgabeFenster statt G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 33 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 */ G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 34 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 */ G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 35 Übungs-/Hausaufgabe • Ausgabe einer Visitenkarte auf dem Bildschirm z.B.: ****************************** * * * Ingo Petzold * * Wiss. Mitarbeiter * * am IKG, Uni Bonn * * * ****************************** G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/03 36