Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Ähnliche Dokumente
C++ - Einführung in die Programmiersprache Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

3. Anweisungen und Kontrollstrukturen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

String-Konkatenation

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 25

Programmiertechnik Kontrollstrukturen

Operatoren (1) Operatoren (2)

Kapitel 3: Variablen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

2.5 Programmstrukturen Entscheidung / Alternative

Modellierung und Programmierung 1

Java Einführung Operatoren Kapitel 2 und 3

Martin Unold INFORMATIK. Geoinformatik und Vermessung

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

Einführung in die Programmierung Wintersemester 2011/12

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Schleifen: Immer wieder dasselbe tun

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Brückenkurs Programmieren

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Unterlagen. CPP-Uebungen-08/

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Schleifen in C/C++/Java

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Anweisungen zur Ablaufsteuerung

INHALT...1 VARIABLEN...1 REGELN FÜR VARIABLEN- NAMEN...2 KONSTANTEN...2 MISCHEN VON TEXT, VARIABLEN UND AUSDRÜCKEN...3 STRUKTURELEMENTE IN PHP...

Programmieren I. Kapitel 5. Kontrollfluss

Tag 3 Repetitorium Informatik (Java)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

Tag 3 Repetitorium Informatik (Java)

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Schleifenanweisungen

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen -

Schleifen in C/C++/Java

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Objektorientierte Programmierung

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Algorithmen und ihre Programmierung -Teil 2-

Einführung in die Informatik

JAVA-Datentypen und deren Wertebereich

ModProg 15-16, Vorl. 5

C-Programmierung: Ausdrücke und Operatoren#Division.2F

4 Formelsammlung C/C++

Wie entwerfe ich ein Programm?

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

Einstieg in die Informatik mit Java

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Webbasierte Programmierung

Einfache Rechenstrukturen und Kontrollfluß

4.2 Programmiersprache C

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

Arrays und Schleifen

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Informatik I - Einstiegskurs

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Access 2010 Programmierung Schleifen

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

3 Befehle in Java. Variablen, Ausrücke, Anweisungen und zusammengesetzte Anweisungen. Variablen sind über einen Namen angesprochene Speicherplätze.

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Java I Vorlesung Imperatives Programmieren

Programmieren in C/C++ und MATLAB

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

Kontrollstrukturen -- Schleifen und Wiederholungen

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Diana Lange. Generative Gestaltung Operatoren

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

Schleifen Datenfelder (Arrays) Verzweigungen

Wo sind wir? Kontrollstrukturen

3. Java - Sprachkonstrukte I

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung

Transkript:

Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue

Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem Semikolon. Eine Anweisung kann leer sein. Die Anweisung besteht nur aus dem Semikolon. Java - Einführung 06.05.15 Seite 2

Zuweisung an eine Variable int zahl; zahl = 2; zahl = zahl * 10; Mit Hilfe des Gleichheitszeichens wird einer Variable ein Wert zugewiesen. Links vom Gleichszeichen steht die Variable. Die Variable ist ein Platzhalter für die Box, in der der Wert rechts vom Gleichheitszeichen gespeichert wird. Der Wert rechts vom Gleichheitszeichen kann als Literale angegeben oder berechnet werden. Java - Einführung 06.05.15 Seite 3

Berechneter Ausdruck variable = operand Operator operand; Der Gleichheitszeichen als Zuweisungsoperator weist dem links vom Gleichheitszeichen stehenden Operator einen berechneten Wert zu. Arithmetische Operatoren benötigen ein bis zwei Operanden. Java - Einführung 06.05.15 Seite 4

Operanden Variablen, die mit datentyp name definiert sind. Konstanten, die mit final datentyp name definiert sind. Literale wie zum Beispiel 2, 3.5, 'A'. Java - Einführung 06.05.15 Seite 5

Arithmetische Operatoren Operator Berechnung Beispiel + Addition 3 + 4 = 7 - Subtraktion 3 4 = -1 * Multiplikation 3 * 4 = 12 / Division 3 / 4 = 0.75 % Division mit Rest 3 % 4 = 3 Java - Einführung 06.05.15 Seite 6

Inkrement- und Dekrement-Operator Inkrement-Operator variable++ wird aus zwei Pluszeichen zusammengesetzt. entspricht der Anweisung variable = variable + 1. Dekrement-Operator variable-- wird aus zwei Minuszeichen zusammengesetzt. entspricht der Anweisung variable = variable - 1. Java - Einführung 06.05.15 Seite 7

Präfix und Postfix int x = 1; result x int result = 0; ++x 2 2 --x 0 0 int x = 1; int result = 0; result x++ 1 2 x-- 1 0 x Java - Einführung 06.05.15 Seite 8

Anweisungsblock { } int zahl; zahl = 2; zahl = zahl * 10; Klammerung von zusammengehörigen Anweisungen mit Hilfe der geschweiften Klammern. Um die Lesbarkeit zu erhöhen, werden die Anweisungen in einem Block eingerückt. Java - Einführung 06.05.15 Seite 9

Bedingungen variable = (operand Operator operand) Zwei Operanden werden mit Hilfe eines Vergleichsoperators überprüft. Eine Bedingung liefert immer einen boolschen Wert zurück. Die Bedingung ist wahr oder falsch. Die Bedingung wird mit Hilfe von runden Klammern zusammengefasst. Beantwortung von Ja- / Nein-Fragen. Java - Einführung 06.05.15 Seite 10

Vergleichsoperatoren Operator Berechnung Beispiel == ist gleich 4 == 5 falsch!= ungleich 4!= 5 true < kleiner als 4 <5 true <= kleiner gleich als 4 <= 5 true > größer als 4 > 5 false >= größer gleich als 4 >= 5 false Java - Einführung 06.05.15 Seite 11

Beispiel boolean result; int wert = 5; result = (wert == 4); result = (wert > 0.5); Dezimalzahlen sind Nährungswerte. Aus diesen Grund sollten Dezimalzahlen nicht auf Gleichheit getestet werden. Java - Einführung 06.05.15 Seite 12

Verknüpfung von Bedingungen variable = (bedingung) Operator (bedingung) Bedingungen werden mit Hilfe von Verknüpfungsoperatoren verbunden. Die Verknüpfung liefert einen boolschen Wert. Java - Einführung 06.05.15 Seite 13

Verknüpfungsoperatoren Operator Erläuterung x y x ODER y. Einer der beiden Ausdrücke muss wahr sein. Wenn x true ist, wird y nicht mehr ausgewertet. x && y x UND y Beide Ausdrücke müssen wahr sein. Wenn x false ist, wird y nicht mehr ausgewertet.!x NICHT x Wahr wird zu falsch und umgekehrt. Java - Einführung 06.05.15 Seite 14

Beispiel result = ((zeichen == 'F') (zeichen == 'f')); result = ((temperatur > 0.0) && (temperatur < 99.97)); result = (!(zeichen == 'q') ) (op vergleichsoperator op) verknüpfung (op vergleichsoperator op). Die boolschen Ausdrücke werden geklammert. Der Verknüpfungsausdruck wird geklammert. Java - Einführung 06.05.15 Seite 15

Prioritäten Priorität Operator 1 Nicht! Inkrement ++, Dekrement -- 2 Multiplikation * Division Modulo % 3 Addition + Subtraktion - 4 Kleiner <, Kleiner Gleich <= Größer >, Größer gleich >= 5 ist Gleich ==, ist ungleich!= 6 Und && 7 Oder Java - Einführung 06.05.15 Seite 16

Assoziativität Operator Inkrement ++, Dekrement Multiplikation * Division Modulo % Addition + Subtraktion - Kleiner <, Kleiner Gleich <= Größer >, Größer gleich >= ist gleich ==, ist nicht gleich!= Und &&, Oder Nicht! Inkrement ++, Dekrement -- Zuweisung = Java - Einführung 06.05.15 Seite 17

Schleifen Iterationsanweisungen. Wiederholung von Anweisung in Abhängigkeit einer Bedingung. Eine Verschachtelung von Schleifen ist möglich. Java - Einführung 06.05.15 Seite 18

while-schleife int anfangswert = 1; int summe = 0; int zaehler; zaehler = anfangswert; while (zaehler < 10) { summe = summe + zaehler; System.out.println(zaehler + ". Schleifendurchlauf: " + summe); } zaehler++; Java - Einführung 06.05.15 Seite 19

Schleifenkopf einer while-schleife while (zaehler < 10) Der Schleifenkopf beginnt mit dem Schlüsselwort while (solange). Dem Schlüsselwort folgt in runden Klammern die Bedingung. Wenn die Bedingung zutrifft, wird der dazugehörige Schleifenrumpf ausgeführt. Java - Einführung 06.05.15 Seite 20

Schleifenrumpf { } summe = summe + zaehler; System.out.println(zaehler + ". Schleifendurchlauf: " + summe); zaehler++; Anweisungsblock, der mit den geschweiften Klammern beginnt und endet. Sobald die Bedingung im Schleifenkopf zutrifft, wird der Schleifenrumpf ausgeführt. Java - Einführung 06.05.15 Seite 21

Ablauf zaehler = anfangswert zaehler < 10 nein ja summe = summe + zaehler zaehler = zaehler + 1 Java - Einführung 06.05.15 Seite 22

do-while-schleife int anfangswert = 1; int summe = 0; int zaehler; zaehler = anfangswert; do { summe = summe + zaehler; System.out.println(zaehler + ". Schleifendurchlauf: " + summe); zaehler++; }while(zaehler < 10); Java - Einführung 06.05.15 Seite 23

Erläuterung Der Schleifenkopf beginnt mit dem Schlüsselwort do. Dem Schlüsselwort folgt der Schleifenrumpf. Der Schleifenrumpf wird mindestens einmal durchlaufen. Im Schleifenfuß beginnt die Bedingung mit dem Schlüsselwort while. Die Bedingung muss mit einem Semikolon abgeschlossen werden. Java - Einführung 06.05.15 Seite 24

Ablauf zaehler = anfangswert summe = summe + zaehler zaehler = zaehler + 1 ja zaehler < 10 nein Java - Einführung 06.05.15 Seite 25

Endlosschleife do{ } while(true); Die Bedingung ist immer erfüllt. Falls die Schleife nicht innerhalb des Schleifenrumpfs abgebrochen wird, läuft diese endlos. Java - Einführung 06.05.15 Seite 26

Zählschleife int zaehler; int[] feld = new int[6]; for (zaehler=0;zaehler < feld.length; zaehler++) { feld[zaehler] = (int)math.floor((math.random() * 49) + 1); } for (zaehler=0;zaehler < feld.length; zaehler++) { System.out.println(feld[zaehler]); } Java - Einführung 06.05.15 Seite 27

Mathematische Methoden Math.floor() rundet auf die nächst mathematisch niedrige Ganzzahl. Die Methode liefert ein double-wert zurück. Math.random() liefert eine Dezimalzahl größer als 0.0 und kleiner als 1.0 Java - Einführung 06.05.15 Seite 28

Schleifenkopf for (zaehler=0;zaehler < feld.length; zaehler++) for(initialisierung; Bedingung; Schritt). In den runden Klammern stehen drei Anweisungen zur Initialisierung, Überprüfung und Neuberechnung der Variablen. Die Anweisungen werden durch ein Semikolon abgeschlossen. Java - Einführung 06.05.15 Seite 29

Initialisierung for (zaehler=0;zaehler < feld.length; zaehler++) Vor Beginn der Schleife wird der Zähler einmal initialisiert. Der Zählvariablen wird ein Startwert zugewiesen. Java - Einführung 06.05.15 Seite 30

Deklaration und Initialisierung for (int zaehler=0;zaehler < feld.length; zaehler++) Die Zählvariable kann gleichzeitig deklariert und initialisiert werden. Hinweis: Die Variable zaehler ist nur im Schleifenrumpf der for- Schleife sichtbar. Die Variable kann nur innerhalb des dazugehörigen Schleifenrumpfes genutzt werden. Java - Einführung 06.05.15 Seite 31

Nutzung einer leeren Anweisung int zaehler = 0; for (;zaehler < feld.length; zaehler++) Die Initialisierung wird durch eine leere Anweisung ersetzt. Der Zählvariablen sollte aber vor Beginn der Schleife initialisiert werden. Java - Einführung 06.05.15 Seite 32

Bedingung for (zaehler=0;zaehler < feld.length; zaehler++) Die Zählvariable wird mit einem Wert verglichen. Der Vergleichswert kann im Schleifenkopf berechnet werden. Bedingungen können verknüpft werden. Solange die Bedingung wahr ist, werden die Anweisungen im Schleifenrumpf ausgeführt. Java - Einführung 06.05.15 Seite 33

Nutzung einer leeren Anweisung for (zaehler=0;; zaehler++) { if (zaehler < feld.length) { } } Als Bedingung wird eine leere Anweisung genutzt. Die Bedingung ist immer wahr. Das heißt, die Schleife wird immer ausgeführt. Die Bedingung sollte im Schleifenrumpf überprüft werden. Java - Einführung 06.05.15 Seite 34

Nächster Schritt for (zaehler=0;zaehler < feld.length; zaehler++) Nach jedem Schleifendurchlauf, aber vor jeder Überprüfung der Zählvariable, wird diese Anweisung ausgeführt. Es kann jeder berechnete Ausdruck genutzt werden. Java - Einführung 06.05.15 Seite 35

Verschachtelte Schleifen int MAXZEILE = 2; int[][] feld = {{1, 2, 3, 4}, {3, 0, 4, 5, 6}}; int element = 0; for (int zeile=0;zeile < MAXZEILE; zeile++){ int maxspalte = feld[zeile].length; } for(int spalte = 0; spalte < maxspalte; spalte++){ element = feld[zeile][spalte]; System.out.println("for-innen:" + element); } Java - Einführung 06.05.15 Seite 36

Vorzeitiger Abbruch von Schleifen for(int spalte = 0; spalte < maxspalte; spalte++) { element = feld[zeile][spalte]; if (element == 0) { break; } } System.out.println("for-innen:" + element); Java - Einführung 06.05.15 Seite 37

Schlüsselwort break Beendigung einer Fallunterscheidung in einer switch- Anweisung. Vorzeitige Beendigung einer Schleife. Hinweis: Bei verschachtelten Schleifen wird immer nur die, zu dem Schleifenrumpf gehörende Schleife abgebrochen. Java - Einführung 06.05.15 Seite 38

Beispiel for (gegenkathete=0;gegenkathete <= 10; gegenkathete++) { for (hypotenuse=0;hypotenuse <= 10; hypotenuse++) { sinus = gegenkathete / hypotenuse; System.out.println(sinus); } } if (Math.toDegrees(sinus) < 10){ break; } Java - Einführung 06.05.15 Seite 39

Abbruch und Beginn neuer Schleifendurchlauf for(int spalte = 0; spalte < maxspalte; spalte++) { element = feld[zeile][spalte]; if ((element % 2) > 0) { continue; } } geradezahl.add(integer.valueof(element)); Java - Einführung 06.05.15 Seite 40

Schlüsselwort continue Der aktuelle Schleifendurchlauf wird beendet. Die Zählvariable wird neu berechnet. Ein neuer Schleifendurchlauf beginnt. Java - Einführung 06.05.15 Seite 41

Füllen eines Arrays final int MAXELEMENT = 10; int[] feld = new int[maxelement]; int index; for (index = 0; index < MAXELEMENT; index++) { feld[index] = index; } Java - Einführung 06.05.15 Seite 42

Ausgabe der Array-Elemente for (index = 0; index < MAXELEMENT; index++) { System.out.println(index + ". Durchlauf: " + feld[index]); } index = 0; for(int element: feld) { System.out.println(index + ". Durchlauf: " + element); } Java - Einführung 06.05.15 Seite 43

foreach-schleife for(datentyp feldelement: feld). Für jedes Element im Array Der Platzhalter für das Element eines Arrays hat den gleichen Datentyp wie das dazugehörige Array. Lesen von Elementen in einem Array. Java - Einführung 06.05.15 Seite 44