Institut für Programmierung und Reaktive Systeme Vorkurs Informatik WiSe 17/18 Java – Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Organisatorisches Arbeitsablauf „Hello World“ Danke Überblick Organisatorisches Arbeitsablauf „Hello World“ 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 2 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen beim Programmieren Inhalte: Hello World Datentypen Ausdrücke Variablen Arrays Methoden Rekursion Objektorientierte Programmierung 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 3 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 05.10 Ausdrücke, Variablen und Eingaben 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 05.10 Ausdrücke, Variablen und Eingaben 06.10 Schleifen und Arrays 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 05.10 Ausdrücke, Variablen und Eingaben 06.10 Schleifen und Arrays 09.10 Methoden 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 05.10 Ausdrücke, Variablen und Eingaben 06.10 Schleifen und Arrays 09.10 Methoden 10.10 Rekursion 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ablaufplan 04.10 Main-Methode und Ausgaben 05.10 Ausdrücke, Variablen und Eingaben 06.10 Schleifen und Arrays 09.10 Methoden 10.10 Rekursion 11.10 Objektorientierte Programmierung 12.10 Objektorientierte Programmierung 13.10 Objektorientierte Programmierung 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 4 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Die Java-Programmiersprache Ursprünglich entwickelt von Sun Microsystems Gehört nun zu Oracle Plattformunabhängig Kompilierte Sprache Objektorientiert Kompilierte Programme werden auf einer virtuellen Maschine ausgeführt 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 5 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Arbeitsumgebung Um Java-Programme zu schreiben, wird folgendes benötigt Ein Text-Editor Notepad++ Vim Emacs Sublime Text Alternativ: Eine integrierte Entwicklungsumgebung Intellij IDEA Netbeans Eclipse Das Java Development Kit JDK (nicht zu verwechseln mit der Java Runtime Edition JRE) 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 6 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Überblick Organisatorisches Arbeitsablauf „Hello World“ 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 7 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Arbeitsablauf 1. Planung Analyse des Problems Analyse der Anforderungen an die Lösung Benötigte Datenobjekte Laufzeitumgebung Mögliche Ansätze 2. Programmierung Programm wird geschrieben Für kompilierte Sprachen: Kompilieren des Programms Ausführen des Programms 3. Testen Macht das Programm, was es soll? Zwischen den Phasen wird hin und her gewechselt, je nach Entwicklungsmodell (siehe Software Engineering 1) 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 8 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Programmierung Erstellen einer Textdatei mit Programmcode Tipp: Texteditor auf UTF-8 umstellen, erspart Ärger mit Umlauten! 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 9 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Programmierung Erstellen einer Textdatei mit Programmcode Tipp: Texteditor auf UTF-8 umstellen, erspart Ärger mit Umlauten! Programmcode in ausführbaren (Byte)Code übersetzen (.class-Datei) Befehl: javac Quelldatei 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 9 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Programmierung Erstellen einer Textdatei mit Programmcode Tipp: Texteditor auf UTF-8 umstellen, erspart Ärger mit Umlauten! Programmcode in ausführbaren (Byte)Code übersetzen (.class-Datei) Befehl: javac Quelldatei Bytecode auf der JVM ausführen Ausführung startet mit der main-Methode Ausführung: java Klassenname 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 9 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Überblick Organisatorisches Arbeitsablauf „Hello World“ 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 10 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke „Hello World“ public class Hello { public static void main( String [] args) { System .out. println ("Hello World!"); } } Programm besteht aus mindestens einer Klasse Klassenname steht hinter class Dateiname muss Klassenname + .java sein main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen (Statements) enden mit einem Semikolon (;) Aufruf von System.out.println() gibt etwas aus. 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 11 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Demo: „Hello World“ Erstellung Live in der Vorlesung Demo: Erstellung von „Hello World“ 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 12 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Die main-Methode Ausführung startet mit der ersten Anweisung der main-Methode public static void main(String[] args) Muss in einer Klasse stehen Signatur wird verständlicher, sobald Methoden behandelt werden Bis dahin: Programmgerüst mit Klasse und main-Methode übernehmen 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 13 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Ausgeben von Text System.out.println("Text") gibt Text mit Zeilenumbruch am Ende aus System.out.print("Text") gibt Text ohne Zeilenumbruch am Ende aus "Text" kann durch eine Zahl ersetzen werden: System.out.println(42) 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 14 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Demo: Rechnen mit Java Live in der Vorlesung Demo: Rechnen mit Java 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 15 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Rechnen mit Java public class Rechnen { public static void main( String [] args) { System .out. println (1 + 1); System .out. println (2 * 2.5); System .out. println (4 - 0.5); System .out. println (4.0 / 3); System .out. println (4 / 3); // Warum 1? System .out. println (7 % 3); // Was wird hier berechnet ? System .out. println (8 % 3); // Was wird hier berechnet ? System .out. println (9 % 3); // Was wird hier berechnet ? System .out. println (1 + 2 * 2 / 3); } } 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 16 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Überblick und Ausblick Die Sprache Java Arbeitsablauf „Hello World“ main-Methode als Ausgangspunkt Ausgabe mit Java Rechnen mit Java Morgen: Ausdrücke, Variablen, Datentypen 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 17 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme Organisatorisches Arbeitsablauf „Hello World“ Danke Danke Vielen Dank für Ihre Aufmerksamkeit! 04.10.2017 Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk Seite 18 Vorkurs Informatik WiSe 17/18 Institut für Programmierung und Reaktive Systeme