Vorkurs Informatik WiSe 16/17 - Java – Einführung

Werbung
Institut für Programmierung
und Reaktive Systeme
Vorkurs Informatik WiSe 16/17
Java – Einführung
Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016
Technische Universität Braunschweig, IPS
Überblick
Organisatorisches
Hello!
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 2
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ü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
Objektorientierte Programmierung
Rekursion
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 3
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ablaufplan
04.10 Main-Methode und Ausgaben
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ablaufplan
04.10 Main-Methode und Ausgaben
05.10 Ausdrücke, Variablen und Eingaben
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ablaufplan
04.10 Main-Methode und Ausgaben
05.10 Ausdrücke, Variablen und Eingaben
06.10 Schleifen und Arrays
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ablaufplan
04.10 Main-Methode und Ausgaben
05.10 Ausdrücke, Variablen und Eingaben
06.10 Schleifen und Arrays
07.10 Beispiele
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 4
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 5
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Arbeitsumgebung
Um Java-Programme zu schreiben, wird folgende Softwareausstattung
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.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 6
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 7
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 8
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 9
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 10
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 11
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Überblick
Organisatorisches
Hello!
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 12
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 13
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Demo: VM, Hello
Live in der Vorlesung
Demo: Vorführung der Ubuntu-Mate-Vorkurs-VM, Hello World
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 14
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 15
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ausgeben von Text
System.out.println("Text") gibt Text aus und macht am Ende einen
Zeilenumbruch
System.out.print("Text") gibt Text aus und macht am Ende keinen
Zeilenumbruch
Wir können "Text" auch durch eine Zahl ersetzen:
System.out.println(42)
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 16
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
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 17
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Demo: Rechnen mit Java
Live in der Vorlesung
Demo: Java als Taschenrechner
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 18
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Ü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 19
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Übungen
Ab 14:00 bis 17:00
Theorie
Werkzeuge (Unix)
Programmieren (Java)
Selbst aufteilen!
Räume:
IZ 161 Theorie
IZ G40 Rechnerraum
IZ 359 Rechnerraum
IZ 443 Rechnerraum (nur Programmieren)
IZ 251 Laptopgruppe
IZ 305 Laptopgruppe
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 20
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Danke
Vielen Dank für Ihre Aufmerksamkeit!
04.10.2016 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe Seite 21
Vorkurs Informatik WiSe 16/17
Institut für Programmierung
und Reaktive Systeme
Herunterladen