27
Vorkurs Informatik WiSe 16/17 Java – Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Institut für Programmierung und Reaktive Systeme

Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Vorkurs Informatik WiSe 16/17Java – Einführung

Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016

Technische Universität Braunschweig, IPS

Institut für Programmierungund Reaktive Systeme

Page 2: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Überblick

Organisatorisches

Hello!

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 2Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 3: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Überblick

Einführung in die Programmierung zur Vereinfachung des Einstiegsins Studium

Erstellung von ausführbaren Programmen für den Computer

Denk- und Vorgehensweisen beim Programmieren

Inhalte:Hello WorldDatentypenAusdrückeVariablenArraysObjektorientierte ProgrammierungRekursion

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 3Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 4: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 5: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 6: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 7: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 8: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 9: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 10: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ablaufplan

04.10 Main-Methode und Ausgaben

05.10 Ausdrücke, Variablen und Eingaben

06.10 Schleifen und Arrays

07.10 Beispiele

10.10 Methoden

11.10 Rekursion

12.10 Objektorientierte Programmierung

13.10 Objektorientierte Programmierung

14.10 Objektorientierte Programmierung

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 11: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

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 Maschineausgeführt

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 5Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 12: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Arbeitsumgebung

Um Java-Programme zu schreiben, wird folgende Softwareausstattungbenötigt

Ein Text-EditorNotepad++VimEmacsSublime Text

Alternativ: Eine integrierte EntwicklungsumgebungIntellij IDEANetbeansEclipse

Das Java Development Kit (JDK) (nicht zu verwechseln mit der JavaRuntime Edition (JRE))

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 6Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 13: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Arbeitsablauf

1. PlanungAnalyse des ProblemsAnalyse der Anforderungen an die LösungBenötigte DatenobjekteLaufzeitumgebungMögliche Ansätze

2. ProgrammierungProgramm wird geschriebenFür kompilierte Sprachen: Kompilieren des ProgrammsAusführen des Programms

3. TestenMacht das Programm, was es soll?

Zwischen den Phasen wird hin und her gewechselt, je nachEntwicklungsmodell (siehe Software Engineering 1)

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 7Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 14: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Programmerstellung mit Java

1. Erstellen einer Textdatei mit dem Programmcode

2. Der Programmcode wird in ausführbaren Code übersetzt(Befehl: javac Quelldateien)

3. Das Programm wird auf der Java Virtual Machine (JVM) ausgeführt(Befehl: java Klassenname)

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 8Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 15: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Eingabe des Programmcodes

Erstellen einer Textdatei mit dem Programmcode

Tipp: Texteditor auf UTF-8 umstellen, erspart Ärger mit Umlauten!

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 9Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 16: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Kompilieren des Java-Codes

Programmcode nicht direkt ausführbar

Übersetzung von Programmcode zu ausführbarem Code für die JVM

Wird Bytecode genannt

Erzeugt Bytecode in .class-Dateien

javac Quelldateien

z. B. javac Hello.java

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 10Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 17: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ausführen des Java-Codes

Bytecode wird auf der JVM ausgeführt

Ausführung startet in der main-Methode

java Klassenname

z.B. java Hello

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 11Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 18: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Überblick

Organisatorisches

Hello!

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 12Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 19: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

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 enden mit einem Semikolon (;)

Aufruf von System.out.println() gibt etwas aus.

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 13Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 20: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Demo: VM, Hello

Live in der VorlesungDemo: Vorführung der Ubuntu-Mate-Vorkurs-VM, Hello World

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 14Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 21: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

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 wir Methoden behandeln

Bis dahin: Programmgerüst mit Klasse und main-Methode erst malübernehmen

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 15Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 22: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Ausgeben von Text

System.out.println("Text") gibt Text aus und macht am Ende einenZeilenumbruch

System.out.print("Text") gibt Text aus und macht am Ende keinenZeilenumbruch

Wir können "Text" auch durch eine Zahl ersetzen:System.out.println(42)

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 16Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 23: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Java kann auch Rechnen

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.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 17Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 24: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Demo: Rechnen mit Java

Live in der VorlesungDemo: Java als Taschenrechner

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 18Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 25: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Überblick und Ausblick

Die Sprache Java

Arbeitsablauf

Hello World!

main-Methode als Ausgangspunkt

Ausgabe mit Java

Java als Taschenrechner

Demo: Ubuntu-Mate-VM, Arbeitsablauf, Rechnen mit Java

Morgen: Ausdrücke, Variablen, Datentypen

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 19Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 26: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Übungen

Ab 14:00 bis 17:00

Theorie

Werkzeuge (Unix)

Programmieren (Java)

Selbst aufteilen!

Räume:IZ 161 TheorieIZ G40 RechnerraumIZ 359 RechnerraumIZ 443 Rechnerraum (nur Programmieren)IZ 251 LaptopgruppeIZ 305 Laptopgruppe

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 20Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme

Page 27: Vorkurs Informatik WiSe 16/17 · main-Methode ist Ausgangspunkt für die Ausführung Programm führt Folge von Anweisungen aus, von oben nach unten Anweisungen enden mit einem Semikolon

Danke

Vielen Dank für Ihre Aufmerksamkeit!

04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 21Vorkurs Informatik WiSe 16/17 Institut für Programmierung

und Reaktive Systeme