JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik Heinrich-Mußmann-Str. 1 52428 Jülich Telefon +49. 241. 6009 53795 Telefax +49. 241. 6009 53118 E-Mail: kraft@fh-aachen.de Überblick über die Vorlesung Organisatorisches BLOCKKURS KLAUSUR SEMESTERKURS PRAKTIKUM KLAUSUR September.... Oktober Januar... März Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 3
Vorlesung, Übung, Praktikum und Klausur Organisatorisches Vorlesung Termin: Donnerstags, 8:15-9:45 Grundlage: Foliensätze zur Vorlesung Grundlage: 1. Programmiersprache Java von H.-J. Pflug Übung (A. Visser und V. Huber) Termin: Donnerstags, 10:00-12:15 Inhalt: Vertiefung der Vorlesungsinhalte Praktikum (A. Visser und V. Huber) Termin: Zielsetzung: Im Team ein Softwareprojekt realisieren Klausur Termin: Relevanz: Scheinklausur im Rahmen des Bachelorstudiengangs Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 4 Regeln Organisatorisches Aufmerksam zuhören Aktive Teilnahme und Diskussion richtig Aufzeigen und Fragen stellen Elektronische Geräte ausschalten Notizen falsch ganz falsch Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 5 Überblick über die Vorlesung Inhalte für den Blockkurs Themen 1 Lineare Programme 2 Kontrollstrukturen 3 Das objektorientierte Konzept von Java BLOCKKURS Voraussetzungen keine Vorkenntnisse in der Programmierung erforderlich 12 Tage im September Vorlesung und viel Übung Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 6
Überblick über die Vorlesung - Arbeitsstand Inhalte für den Semesterkurs Plan Vorlesung 1: Einstieg und Wiederholung Skript Kap. 3 Vorlesung 2: Wiederholung Java Objektorientierung Skript Kap. 3 Vorlesung 3: Ausnahmebehandlung (Exception Handling) Skript Kap. 4 Vorlesung 4: Java-Klassenbibliothek (Ein-/Ausgabe, Listen, Maps) Skript Kap. 5 Vorlesung 5: Vererbung Teil 1 BLOCKKURS Skript Kap. 6 Vorlesung 6: Vererbung Teil 2 Skript Kap. 6 Vorlesung 7: Abstrakte Klassen und Interfaces Skript Kap. 7 Vorlesung 8: Rekursive Algorithmen Skript Kap. 8 Vorlesung 9: Bibliotheken und Pakete Skript Kap. 9 Vorlesung 10: Lesbarkeit eines Programms Skript Kap. 10 Vorlesung 11: Wiederholung und Festigung Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 7 Überblick über die Vorlesung Ergebnisse des letzten Praktikums BLOCKKURS 12 Tage im September Vorlesung und viel Übung Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 8 Was wissen Sie über JAVA? Was erwarten Sie? 5 Minuten Murmelgruppe mit Nachbar
Eigenschaften der Sprache JAVA Objektorientiert Angelehnt an die objektorientierten Konzepte von Simula und C++ Einfach zu erlernen Syntax abgeleitet von C/C++ Verzicht auf komplexe und fehleranfällige Sprachmittel (z.b. Zeiger) Robust Strenge Typisierung Prüfung während der Laufzeit Speichermanipulation nicht möglich Portabel Einheitliche Definition von Sprache und Basisdatentypen Übersetzung in Bytecode, nicht in Maschinensprache Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 10 Historische Entwicklung der Programmiersprachen Überblick Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 11 Historische Entwicklung von JAVA Überblick Ursprung C++ und Smalltalk 1991: Oak aus dem Projekt Green für PDA-Vorläufer 1994: JAVA mit Internet-Funktionalität, HotJava-Browser 1995/96: Erstes JDK (Java Development Kit) - Lauffähig im Netscape Browser 1996: Erste IDEs (integrierte Entwicklungsumgebungen) - Netbeans, Visual Age, 1997: JDK 1.1 1998: J2SE 1.2 2000: J2EE 1.2 2000: J2SE 1.3 2002: J2EE 1.3 2002: J2SE 1.4 2003: J2EE 1.4 2004: Java 5 2006: Java EE 5 2006: JSE 6 Quelle: http://www.java.com/en/javahistory/timeline.jsp Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 12
Hilfsmittel für die Programmierung Worüber reden wir? Programmiersprache Formal definierte Sprache Schnittstelle zwischen Mensch und Maschine Handwerkzeug des Programmierers Werkzeuge Editor / Entwicklungsumgebung Erstellung des Programmtextes (Source-Code) Programm Compiler Editor Compiler (Übersetzer) Prüfung des Programmcodes (Syntax) Übersetzung in ausführbare Form Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 13 Ausführung von JAVA-Programmen Besonderheit von JAVA JAVA-Compiler erzeugt Spezielles Programm, die Virtual Maschine (VM), zur Ausführung benötigt JAVA-Interpreter führt die Schritte des JAVA-Programms sequentiell aus Maschinencode JAVA- Programm Compiler (übersetzt) Maschinen- Code /Prozessor (führt aus) Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 14 Ausführung von JAVA-Programmen JAVA-Code for (int i = 2; i<10; i++) { System.out.println (i); } JAVA- Programm Compiler (übersetzt) 0: iconst_2 1: istore_1 2: iload_1 3: sipush 10 6: if_icmpge 44 9: iconst_2 10: istore_2 11: iload_2 12: iload_1 Maschinen-Code WinXP 10010 10011 01111 01101 11110 11100 11011 11001 10101 00010 00001 00101 01101 11110 11100 11011 11001 10101 Maschinen- Code /Prozessor (führt aus) Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 15
Ausführung von JAVA-Programmen Vorteile ist plattformunabhängig ist ausführbar auf jeder Plattform für die es eine gibt Maschinen -Code Maschinen -Code Java Maschinen -Code Java Chip Nachteile Im Allgemeinen schlechtere Performanz Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 16 Das erste Programm Hallo Willkommen! Das erste JAVA-Programm HelloWorld.java public class HelloWorld { public static void main (String args[]) { System.out.println ( Hallo Willkommen!"); } } Quellecode übersetzen Dateiname immer: Klassenname +.java! C:\ C:\javac HelloWorld.java C:\dir HelloWorld.class HelloWorld.class 0: iconst_2 1: istore_1 2: iload_1 3: sipush 10 Programm ausführen C:\java HelloWorld Hallo Willkommen! Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 18
Wichtige Programme Das erste JAVA-Programm Java Compiler javac.exe (z.b. unter C:\Programme\Java\jdk1.6.0_20\bin) Übersetzt den JAVA-Code Gibt Fehlermeldung und Warnungen aus Erzeugt, wenn möglich Eingabe: Datei in der die Klasse gespeichert ist (inkl. Endung.java) Dateiname immer: Klassenname +.java Java Interpreter java.exe Startet die JAVA-Virtual Maschine Führt den aus Eingabe: der Klasse (ohne Endung.class) Prof. Dr. B. Kraft - FH AACHEN UNIVERSITY OF APPLIED SCIENCES WS 2012/2013 19