vorkurs informatik wise 16/17 · main-methode ist ausgangspunkt für die ausführung programm...
TRANSCRIPT
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
Ü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
Ü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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ü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
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
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
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
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
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
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
Ü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
Ü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
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