SS 04 Christiane Rauh Christian Hellinger PI – Repetitorium SS 04 Christiane Rauh Christian Hellinger
Organisatorisches Termine: Mit Pausen Fragen bitte sofort stellen – Fr. 18.06. 14-18 Uhr Sa. 19.06. 09-18 Uhr Fr. 09.07. 14-18 Uhr Sa. 10.07. 09-18 Uhr Mit Pausen Fragen bitte sofort stellen – wir beißen nicht 28.11.2018
Organisatorisches Mischung zwischen Erklärungen und Übung Mitmachen sehr erwünscht – Veranstaltung soll keine reine Berieselungsstunde werden! Wen Dinge unklar – fragt! 28.11.2018
Eure Meinung Was erwartet Ihr? Womit habt Ihr Probleme? Was sollte unbedingt behandelt werden? Bitte gebt Samstag Nachmittag den Fragebogen ab, den wir dann austeilen. 28.11.2018
Inhalt – 18.06. Einführung in Java 1: Iterative Sprachkonzepte Iteratives Programmieren Blöcke, Namen primitive Datentypen (und Wertebereich) Datentypen Zuweisungen, Vergleiche Verzweigungen und Schleifen Syntaxdiagramme, (E)BNF [Übungen] Arrays Mehrdim. Arrays Sortieren 28.11.2018
Iterative Sprachkonzepte Ein imperatives Programm basiert auf dem Begriff des Zustandes. Eine Berechnung findet dadurch statt, dass ein Zustand verändert wird. Die konkrete Form der Zustandsveränderung ist die Wertzuweisung (engl. assignment), die Zuweisung eines Wertes zu einer Programm-Variablen. Die Zuweisung ist die elementarste Form einer Anweisung (engl. statement). Ein Programm enthält in der Hauptsache eine Folge von Anweisungen. 28.11.2018
Iterative Sprachkonzepte Anweisungen in Blöcken Block zwischen { } Anweisungen innerhalb eines Blocks gehören (für den Compiler) zusammen. Wichtig z.B. für Schleifen, Verzweigungen etc (siehe später) 28.11.2018
Iterative Sprachkonzepte Namen Bezeichner für Variablen, Konstanten, Methoden, … Java unterscheidet Groß- und Kleinschreibung: ‚name‘ != ‚Name‘ Einfacher Name: Bezeichner Erlaubt: A-Z, a-z, 0-9, _ Bestimmte (Schlüssel-) Wörter reserviert z.B. class, void, if, else, final, public, … 28.11.2018
Iterative Sprachkonzepte Konventionen in Java Klasse methode(…), methodeTut(…) variable KONSTANTE Vorschlag, niemand muss sich daran halten. Aber: einheitliche Namensgebung macht das Programmieren leichter 28.11.2018
Iterative Sprachkonzepte Variablen Wesentliche Zustandsträger Behälter für Werte Inhalt kann während eines Programmablaufs beliebig oft geändert werden Variablentyp bestimmt Wertebereich und erlaubte Aktionen Deklaration, Initialisierung 28.11.2018
Iterative Sprachkonzepte Primitive Datentypen stellen die elementaren Wertebereiche und zugehörige Operationen bereit. Ganze Zahlen (engl. integer) byte, short, int, long Fließkommazahlen float, double 28.11.2018
Iterative Sprachkonzepte Variablen haben Wertebereiche Ganze Zahlen in Java: {−28×n−1, ..., 28×n−1 − 1} byte n=1 => [-127; 128] short n=2 => [-32.767; 32.768] int n=4 => [-2.147.483.657;2.157.583.648] long n=8 => [-9,22*1018; 9,223*1018] (http://www.selfjava.de/java0107.htm) 28.11.2018
Iterative Sprachkonzepte Arithmetische Operatoren: + - / * % 28.11.2018
Iterative Sprachkonzepte Boolean Binäre (Zustands-) Logik Entweder true oder false Bool‘sche Algebra Verknüpfungen: &, && and (Konjunktion) |, || or (Disjunktion) ! not (Negation) 28.11.2018
Iterative Sprachkonzepte Andere Datentypen Zeichen: char Groß- und Kleinbuchstaben, Ziffern, Satzzeichen, Operationszeichen, Sonder- und Steuerzeichen Beispiel: ‚a‘ ‚B‘ ‚1‘ ‚=‘ Unterschied zwischen 3 und ‚3‘ ? Zeichenkette: String Beispiele: „Text“, „Ich lerne Java“ „12“ Ein String besteht quasi aus mehreren chars 28.11.2018
Iterative Sprachkonzepte Zuweisungen Keine Gleichung im mathematischen Sinne var = var +1 erlaubt und sinnvoll Die Bedeutung einer Zuweisung ist, dass der Ausdruck auf der rechten Seite ausgewertet wird; anschließend wird der erhaltene Wert der Variablen auf der linken Seite zugewiesen. 28.11.2018
Iterative Sprachkonzepte Vergleiche == gleich < kleiner <= kleiner gleich > größer >= größer gleich != nicht gleich = ungleich 28.11.2018
Iterative Sprachkonzepte Erzeugen von Variablen und Konstanten int meineVariable; int deineVariable = 1; char zeichen = ‚a‘; String text = „Hallo“; final static byte ZAHL = 12; (Schlüsselwörter siehe später) 28.11.2018
Iterative Sprachkonzepte Verzweigung: if (Bedingung) {…} else { … } Schleifen while (Bedingung) {} do {} while (Bedingung) for (Init / Erzeugung ;Bedingung ; Schritt ) {…} Bewachte Verzweigung: switch (Bedingung) 28.11.2018
Iterative Sprachkonzepte Übungen !!! 28.11.2018