Grundlagen der Informatik Einführung in das Programmieren mit JAVA / Vorbereitung auf das Praktikum Grundlagen der Informatik, 06.11.2008 Anforderungen an eine moderne Programmiersprache • Plattformunabhängigkeit Anwendersoftware soll auf möglichst vielen Plattformen einsetzbar sein > JAVA Virtual Machine/JAVA Interpreter (java), Bytecode • Entwicklungswerkzeuge Für unterschiedliche Anforderungen > Text-Editor, KommandozeilenCompiler, IDE (Integrated Development Environment *) > EditPad Lite & JAVA-Compiler (javac), JOE (JAVA Oriented Editor), Eclipse, Visual J#, CodeGear JBuilder, … * s. auch: http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung • Modularität Kommunikation über Schnittstellen, geschützte Bereiche > Datenkapselung, Zugriff über spezielle Methoden (get, set, …) Grundlagen der Informatik, 06.11.2008 Anforderungen an eine moderne Programmiersprache • Wiederverwendbarkeit vorhandene Routinen/Algorithmen sollen wiederverwendet werden können > Klassen, Erweiterung von Klassen, Vererbung • sicheres Laufzeitverhalten Fehler im Programmcode dürfen während der Ausführung des Programms nicht zum „Absturz“ der Plattform führen > Laufzeitüberwachung von Datenbereichen, Carbage Collector Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Wo finde ich … • … die JAVA Software Entwicklungs-Umgebung!? http: //java.sun.com (aktuell: JAVA SE Development Kit 6 Update 10) • … einen Text-Editor (z. B. EditPad Lite)!? http://www.editpad.de/editpadlite.html (für private Nutzung kostenlos, ohne Syntax-Highlighting) • … einen JAVA Orientated Editor (z. B. JOE)!? http://www.javaeditor.de (kostenlos, mit Syntax-Highlighting) Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Vom Quellcode zum Bytecode • Erstellen des Quellcodes als Text-Datei im Text-Editor • Speichern des Quellcodes unter dem Namen der Klasse mit der Endung .java (z. B. Klasse1.java) • Aufruf des JAVA-Compilers mit javac Name der Klasse.java (z. B. javac Klasse1.java) • Aufruf des JAVA-Interpreters/der JAVA Virtual Machine mit java Name der Klasse (z. B. java Klasse1) Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 1 a) Programmieren Sie eine JAVA-Applikation, die zwei Attribute vom Typ String enthält. Speichern Sie Ihren Vornamen im ersten und Ihren Nachnamen im zweiten Attribut. b) Geben Sie den Inhalt der Attribute, also Ihren Vor- und Nachnamen, auf dem Bildschirm aus. Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 1 class Beispiel1 { public static void main (String args[]) { String vorname = "Max", nachname = "Mustermann"; System.out.println(vorname + " " + nachname); } // Ende der main()-Methode } // Ende der Klasse Beispiel1 Die main()-Methode: s. Skript Grundlagen der Informatik, Teil 1, S. 104 Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 a) Programmieren Sie eine JAVA-Applikation, die ein Array vom Typ String der Länge 5 enthält. b) Weisen Sie den 5 Komponenten des Arrays 5 beliebige Werte (z. B. Namen) zu. c) Geben Sie die den 5 Komponenten des Arrays zugewiesen Werte auf dem Bildschirm aus. Verwenden Sie hierfür eine for-Schleife. Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 / Array • Unter einem Array versteht man die Anordnung mehrerer Elemente des gleichen Datentyps auf aufeinanderfolgenden Speicherplätzen • Die einzelnen Elemente eines Arrays heißen Komponenten und werden über Indizes angesprochen • Die Indizes eines Arrays beginnen stets mit 0 (d. h. bei einem Array der Länge 5 lauten die Indizes 0, 1, 2, 3 und 4) • Der Index der letzten Komponente entspricht der Länge des Arrays – 1 (d. h. die letzte Komponente eines Arrays der Länge 5 wird mit 5 – 1 = 4 angesprochen) Array: s. Skript Grundlagen der Informatik, Teil 1, S. 214 ff Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 class Beispiel2 { public static void main (String args[]) { String[] strArray = new String[5]; strArray[0] = "Hans"; strArray[1] = "Max"; strArray[2] = "Jochen"; strArray[3] = "Monika"; strArray[4] = "Tanja"; (…) Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 / for-Schleife • Die for-Schleife ist eine abweisende Schleife, d. h. dass die Bedingung, die zur Ausführung der Schleife führt, vor Ausführung der Schleife geprüft wird • Ist die Bedingung nicht erfüllt, wird die Schleife nicht durchlaufen und beendet • Die Schleife wird einmalig zu Beginn initialisiert, d. h. die lokale Variable, die der Schleife als Laufvariable dient, wird definiert und initialisiert. Die Laufvariable wird nach jedem Durchlauf aktualisiert und ist nach Beendigung der Schleife ungültig for-Schleife: s. Skript Grundlagen der Informatik, Teil 1, S. 189 ff Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 / for-Schleife • Syntax einer for-Schleife in JAVA for (Initialisierung der Laufvariablen; Bedingung; Aktualisierung) { … Programmcode … } Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2 (…) for (int i = 0; i < strArray.length; i++) { System.out.println(strArray[i]); } // Ende der for-Schleife } // Ende der main()-Methode } // Ende der Klasse Beispiel2 Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 2a class Beispiel2a { public static void main (String args[]) { String[] strArray = {"Hans", "Max", "Jochen", "Monika", "Tanja"}; for (int i = 0; i < strArray.length; i++) { System.out.println(strArray[i]); } // Ende for-Schleife } // Ende main()-Methode } // Ende Klasse Beispiel2a Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 3 a) Die den Komponenten eines Arrays vom Typ String der Länge 5 sollen zufällig auf dem Bildschirm ausgegeben werden (Wiederholungen erlaubt). b) Erzeugen Sie unter Verwendung der Methode nextInt(int n) der Klasse Random eine Zufallszahl im Bereich der Indizes 0 bis 4 des Arrays. c) Verwenden Sie das Array aus Beispiel 2a. d) Die Ausgabe der zufällig ausgewählten Komponente des Arrays soll innerhalb einer for-Schleife erfolgen. Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 3 / Zufallszahl • Die Klasse Random im Paket java.util.* enthält die Methode nextInt(int n), mit der Zufallszahlen generiert werden können • Der Aufruf erfolgt als Konstruktor der Klasse.methode() – hier: Random().nextInt(int n) • Der ganzzahlige Wert für int n, den die Methode nextInt(int n) übergeben bekommt, umfasst den Zahlenbereich von einschließlich 0 bis ausschließlich des Wertes für int n (d. h. soll eine Zufallszahl im Bereich von 0 bis 4 erzeugt werden, ist für n der Wert 5 zu übergeben) • Um die Klasse Random und deren Methoden verwenden zu können, muss das Paket java.util.* importiert werden Quelle: http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/45.html Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 3 import java.util.*; class Beispiel3 { public static void main (String args[]) { String[] strArray = {"Hans", "Max", "Jochen", "Monika", "Tanja"}; (…) Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA – Beispiel 3 (…) for (int i = 0; i < strArray.length; i++) { int zahl = new Random().nextInt(5); System.out.println(strArray[zahl]); } // Ende for-Schleife } // Ende main()-Methode } // Ende Klasse Beispiel3 Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA Fragen!? Grundlagen der Informatik, 06.11.2008 Programmieren mit JAVA Tipp zum Praktikum Arbeiten Sie die PraktikumsUnterlagen zur Vorbereitung auf das Praktikum zuhause durch! Grundlagen der Informatik, 06.11.2008 Vielen Dank für Ihre Aufmerksamkeit! Grundlagen der Informatik, 06.11.2008