Einstieg in die Informatik mit Java

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

3. Anweisungen und Kontrollstrukturen

Einstieg in die Informatik mit Java

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

Programmiertechnik Kontrollstrukturen

Objektorientierte Programmierung

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

Einstieg in die Informatik mit Java

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

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Javakurs für Anfänger

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

Einstieg in die Informatik mit Java

Einführung in die Programmierung Wintersemester 2011/12

Einstieg in die Informatik mit Java

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

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Einstieg in die Informatik mit Java

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Schöner Programmieren

Schöner Programmieren

Vorlesung Programmieren

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

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

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

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

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

PROGRAMMIERUNG IN JAVA

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Primitive Datentypen

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

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

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

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

Vorlesung Programmieren

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

Schleifen in C/C++/Java

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

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

Einführung in die Programmierung II. 3. Kontrollstrukturen

Programmieren in Java

Kontrollstrukturen -- Schleifen und Wiederholungen

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

9 Anweisungen und Kontrollstrukturen

Einstieg in die Informatik mit Java

2 Teil 2: Nassi-Schneiderman

Schleifen: Immer wieder dasselbe tun

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Java - Programmierung - Prozedurale Programmierung 1

6. Iteration (Schleifenanweisungen)

Javakurs für Anfänger

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Einstieg in die Informatik mit Java

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

C- Kurs 04 Anweisungen

Einstieg in die Informatik mit Java

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

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

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

Welche Informatik-Kenntnisse bringen Sie mit?

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java: Eine kurze Einführung an Beispielen

System.out.println("TEXT");

Anweisungen und Kontrollstrukturen

6. Iteration (Schleifenanweisungen)

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Ein erstes Java-Programm

Schleifen in C/C++/Java

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einfache Rechenstrukturen und Kontrollfluss II

Einstieg in die Informatik mit Java

Operatoren (1) Operatoren (2)

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Dr. Monika Meiler. Inhalt

Kontrollstrukturen Blöcke / Schleifen / Bedingungen

5. Elementare Befehle und Struktogramme

Transkript:

1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik

Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

Anweisungen 3 / 47 Anweisungen sind die eigentlichen Befehle, die vom Computer ausgeführt werden sollen.

Gliederung 4 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

Ausdrucksanweisung Syntax Beispiel Ausdruck; a = 1; a++; y = Math. s i n ( x ) ; Achtung Die folgenden Beispiele sind zwar mit syntaktisch korrekten Ausdrücken gebildet, sie sind aber sinnlos und deshalb verboten: 1; 1 + 2 + 3; x + y ; 5 / 47

Ausdrucksanweisung, erlaubte Konstrukte 6 / 47 Andere (auf den ersten Blick ähnliche) Konstrukte sind jedoch erlaubt, da sie über Nebeneffekte eine Wirkung haben könnten: f u n k t i o n ( ) ; (ein Funktionsaufruf, dessen Ergebnis nicht abgespeichert wird)

Gliederung 7 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

8 / 47 Einfache Ausgabeanweisung Syntax System.out.println( Ausdruck ); Der Ausdruck muss nicht unbedingt vom Typ String sein, sondern kann zunächst auch von einem anderen Typ sein, der dann in eine Zeichenkette konvertiert wird.

Einfache Ausgabeanweisung, Beispiele Achtung Zeichenketten können mit Hilfe der Stringkonkatenation + verknüpft werden. Allerdings besteht dabei die Gefahr der Verwechslung mit der Addition! Beispiel System. out. p r i n t l n ( Ergebnis : +1+2); / / e r g i b t 12 System. out. p r i n t l n ( Ergebnis : + ( 1 + 2 ) ) ; / / e r g i b t 3 System. out. p r i n t l n (1+ : + 2 ) ; / / e r g i b t 61 System. out. p r i n t l n ( +1+ : + 2 ) ; / / e r g i b t 1:2 System. out. p r i n t l n (1+ : + 2 ) ; / / e r g i b t 1:2 9 / 47

10 / 47 Einfache Ausgabeanweisung, Zeilenende System.out.println(); beendet nach Ausgabe die Zeile, die nächste Ausgabe erfolgt in einer neuen Zeile (vgl. Pascal: writeln). System.out.print(); beendet die Zeile nicht, die nächste Ausgabe erfolgt in der gleichen Zeile (vgl. Pascal: write).

Gliederung 11 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

Einfache Eingabeanweisung ab Java 5 Zu Beginn eines jeden Quelltextes mit Eingabe muss mit Hilfe der import Anweisung die Klasse java.util.scanner; bekannt gemacht werden. Dies geschieht mit der Zeile import java.util.scanner; bzw. import java.util.*; am Programmanfang. Zusätzlich muss ein Scanner erzeugt werden und die Eingabe sollte auf den US-Stil mit Dezimalpunkt umgestellt werden. Dies geschieht mit folgenden Zeilen vor der ersten Eingabe: Locale. s e t D e f a u l t ( Locale.US ) ; Scanner sc = new Scanner ( System. i n ) ; 12 / 47

Einfache Eingabeanweisung, Lesen von Werten 13 / 47 Beispiel Einlesen einer ganzen und einer Gleitkommazahl. i n t a = sc. n e x t I n t ( ) ; double b = sc. nextdouble ( ) ; Vor der Eingabe ist es oft sinnvoll, einen beschreibenden Text auszugeben: Beispiel double s ; System. out. p r i n t ( B i t t e S t a r t w e r t s eingeben : ) ; s = sc. nextdouble ( ) ;

14 / 47 Einfache Eingabeanweisung, Beispiel Beispiel Einlesen einer ganzen Zahl und Ausgabe des doppelten Werts. import java. u t i l. ; public class Demo { public s t a t i c void main ( S t r i n g [ ] args ) { Locale. s e t D e f a u l t ( Locale.US ) ; Scanner sc = new Scanner ( System. i n ) ; System. out. p r i n t ( B i t t e i eingeben : ) ; i n t i = sc. n e x t I n t ( ) ; System. out. p r i n t l n ( i 2= + i 2 ) ; } }

Gliederung 15 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

Verbundanweisung Syntax { Anweisung 1... Anweisung n } Mittels des geschweiften Klammerpaars { } können mehrere Anweisungen zu einer Verbundanweisung zusammengefaßt werden. Die Verbundanweisung darf überall stehen, wo sonst aus syntaktischen Gründen nur eine Anweisung erlaubt ist. Die Anweisungen werden dabei in der angegebenen Reihenfolge ausgeführt. Beispiel x = 1; y = 2; z = 3; Achtung Zu einer Ausdrucksanweisung gehört immer ein Semikolon! 16 / 47

Gliederung 17 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

18 / 47 Bedingte Anweisung Syntax - Einseitige bedingte Anweisung if ( Bedingung ) Anweisung1 Syntax - Zweiseitige (doppelseitige) bedingte Anweisung if ( Bedingung ) Anweisung1 else Anweisung2 Bei der Bedingung in den runden Klammern handelt es sich um einen boolschen Ausdruck. Ergibt der Wert des Ausdrucks true, so wird die erste Anweisung (Anweisung1) ausgeführt. Ergibt der Wert des Ausdrucks false, so wird bei der einseitigen bedingten Anweisung nichts, bei der zweiseitigen bedingten Anweisung die zweite Anweisung (Anweisung2) ausgeführt.

19 / 47 Bedingte Anweisung, Beispiel Beispiel Bestimmung des Maximums zweier ganzen Zahlen x und y. i n t x = 21; i n t y = 12; i f ( x>y ) max = x ; else max = y ; / / e r g i b t : max = 21

20 / 47 Bedingte Anweisung, Achtung Achtung Möchte man anstelle einer einzigen Anweisung mehrere Anweisungen in den if bzw. else Zweigen ausführen, so verwendet man dafür eine Verbundanweisung! Existieren keine Klammern, so wird jedes else immer dem nächsten davorstehenden if zugeordnet. Diese Zuordnung kann durch eine geeignete Klammerung geändert werden.

Bedingte Anweisung, Beispiel 21 / 47 Beispiel i n t x = 5, y = 6; z = 4; i f ( x>y ) i f ( x>z ) max = x ; else max = z ; / / Zuordnung zum zweiten i f i f ( x>y ) { i f ( x>z ) max = x ; } else max = z ; / / Zuordnung zum ersten i f

Gliederung 22 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

Auswahlanweisung Syntax switch ( Ausdruck ) { case konstanter Ausdruck1: Anweisungsfolge1 case konstanter Ausdruck2: Anweisungsfolge2... default: Anweisungsfolge } Der Ausdruck darf vom Typ byte, short, int oder char sein, bei den konstanten Ausdrücken muss es sich um voneinander verschiedene zuweisungskompatible Konstanten handeln. Stimmt der Ausdruck mit einem konstanten Ausdruck überein, so wird bei der zugehörigen Anweisungsfolge fortgefahren und die folgenden Anweisungsfolgen werden sequentiell abgearbeitet. Der default Zweig ist optional. Dieser wird ausgeführt, falls kein konstanter Ausdruck passt. 23 / 47

24 / 47 Auswahlanweisung, break Achtung Die einzelnen Fälle müssen sich nicht ausschließen! Um die sequentielle Abarbeitung zu verhindern, muss den Anweisungsfolgen i. allg. eine break Anweisung (siehe auch Abschnitt 38) folgen!

Auswahlanweisung, Beispiel 25 / 47 Beispiel switch ( x ) { case 1: case 2: x = 4; case 3: x = 8; case 4: x = 16; break ; default : x = 2; } Für x=1 ergibt sich der Wert 512, für x=2 der Wert 1024, für x=3 der Wert 384, für x=4 der Wert 64 und für alle anderen Werte von x jeweils der Wert 2*x.

Gliederung 26 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

27 / 47 for-schleife Syntax for ( Initialisierung; Ausdruck; Update ) Anweisung Der Initialisierungsteil wird einmal ausgeführt und dient zur Deklaration von lokalen Variablen. Er kann eine Liste von Ausdrücken zur Initialisierung von Zählern enthalten (alle mit Komma getrennt). Der Ausdrucksteil ist vom Typ boolean. Solange sich der Wert true ergibt, wird die Anweisung und anschließend der Updateteil wiederholt. Die Schleife wird beendet, wenn der Ausdruck false ist. Der Updateteil enthält eine Liste von Ausdrücken (alle mit Komma getrennt), welche der Reihe nach ausgeführt werden.

28 / 47 for-schleife, optionale Teile Alle drei Teile (Initialisierung, Ausdruck, Update) sind optional. Allerdings müssen in den runden Klammern insgesamt immer zwei Semikolons vorhanden sein. Fehlt der Initialisierer, so muss i.a. vor der Schleife die Zählvariable initialisiert werden. Fehlt der Ausdrucksteil, so gilt die Bedingung immer als erfüllt. Es ergibt sich eine Endlosschleife, die mit einer break Anweisung verlassen werden muss! Fehlt das Update, so muss i.a. die Zählvariable innerhalb der Anweisung verändert werden.

for-schleife, Beispiele 29 / 47 i n t i ; for ( i =0; i <10; ++ i ) System. out. p r i n t l n ( i ) ; // 0 1... 9, Var. i gilt ueber Schleifen-Ende hinaus. for ( i n t j =0; j <10; ++ j ) System. out. p r i n t l n ( j ) ; // 0 1... 9, Variable j gilt nur bis Schleifen-Ende. for ( i n t j =0; j <100; j +=2) System. out. p r i n t l n ( j ) ; // 0 2 4... 98 for ( i n t j =9; j >=0; j ) System. out. p r i n t l n ( j ) ; // 9 8... 0 for ( i n t j =2, k =3; j +k<27; j =2, k+=3) System. out. p r i n t l n ( j ) ; // verwirrend, aber korrekt: 2 4 8

for-schleife, Beispiele mit ausgelassenen Teilen i n t i =5; for ( ; i <10; ++ i ) System. out. p r i n t l n ( i ) ; // 5 6... 9, Var. i gilt ueber Schleifen-Ende hinaus. for ( i n t j = 0 ; ; ++ j ) i f ( j <10) System. out. p r i n t l n ( j ) ; else break ; // 0 1... 9, Variable j gilt nur bis Schleifen-Ende. for ( i n t j =0; j <10; ) System. out. p r i n t l n (++ j ) ; // 1 2 3... 10 i n t k =5; for ( ; ; ) i f ( k<10) System. out. p r i n t l n ( k ++); else break ; // 5 6 7 8 9 30 / 47

31 / 47 for-schleife, Beispiel mit double Achtung Das nachstehende Beispiel ist nur mit Vorsicht zu geniessen! for ( double x =0; x<=1; x +=0.1) System. out. p r i n t l n ( x ) ; Durch die inkrementelle Erhöhung in Schritten von 0, 1 kann es zu Rundungsfehlern kommen. Es ist hier deshalb nicht klar, ob die Zahl Eins erreicht wird oder nicht!

Gliederung 32 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

33 / 47 while-schleife Syntax while ( Bedingung ) Anweisung Äquivalent for ( ; Bedingung ; ) Anweisung Ist die Bedingung in den runden Klammern wahr, so wird die Anweisung solange wiederholt, bis die Bedingung falsch ist. Achtung Bei der Anweisung kann es sich natürlich wieder um eine Verbundanweisung handeln!

while-schleife, Beispiel Quersumme einer natürlichen Zahl 34 / 47 import java. u t i l. ; public class Quersumme { public s t a t i c void main ( S t r i n g [ ] args ) { Scanner sc = new Scanner ( System. i n ) ; i n t n, Summe = 0; System. out. p r i n t ( n = ) ; n = sc. n e x t I n t ( ) ; while ( n>0) { Summe += n % 10; n /= 10; } System. out. p r i n t l n ( Quersumme = +Summe) ; } }

Gliederung 35 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

36 / 47 do-schleife Syntax do Anweisung while ( Bedingung ); Im Prinzip wie die while Schleife, allerdings wird hier zuerst die Anweisung ausgeführt und dann die Bedingung geprüft. Das bedeutet, daß bei einer do Schleife im Gegensatz zu einer while Schleife die Anweisung immer mindestens einmal ausgeführt wird. Achtung Die Bedingung hat genau die gegenteilige Wirkung wie in Pascal bei repeat... until.

37 / 47 Vergleich do- und while-schleife Beispiel Vergleich von do und while Schleife. i n t n = 5; i n t m = 5; do n /= 2; while ( n>=10); / / e r g i b t n=2 while (m>=10) m /= 2; / / e r g i b t m=5 Beispiel Einlesen einer positiven Zahl. do p = sc. n e x t I n t ( ) ; while ( p<=0);

Gliederung 38 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

break-anweisung 39 / 47 Syntax break; Die break Anweisung steht innerhalb der Auswahl Anweisung oder innerhalb von for, while und do Schleifen. Diese werden bei Erreichen der break Anweisung sofort verlassen. Es existiert auch eine Variante mit zugehöriger Marke, d. h. beim Erreichen der break Anweisung wird die markierte Anweisung verlassen. Diese Variante kann auch bei anderen Anweisungen (z. Bsp. Verbundanweisungen) eingesetzt werden.

40 / 47 break-anweisung, Beispiel Beispiel draussen : / / gesetzte Marke for ( i n t i =0; i <10; ++ i ) / / aeussere S c h l e i f e for ( i n t j =0; j <100; ++ j ) { / / innere S c h l e i f e i f (... ) break ; / / v e r l a e s s t innere S c h l e i f e i f (... ) break draussen ; / / v e r l a e s s t die mit draussen / / markierte aeussere S c h l e i f e } Achtung Dieser Programmierstil ist verwirrend und macht den Quelltext schnell unübersichtlich und fehleranfällig!

Gliederung 41 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

continue-anweisung 42 / 47 Syntax continue; Die continue Anweisung steht nur innerhalb von for, while und do Schleifen. Dabei wird bei Erreichen der continue Anweisung der aktuelle Schleifendurchlauf sofort beendet und der nächste begonnen. Analog zur break Anweisung existiert auch hier eine Variante mit zugehöriger Marke, an die das Programm bei Erreichen der continue Anweisung springt, d. h. der aktuelle Schleifendurchlauf der markierten Schleife wird abgebrochen und der nächste begonnen.

continue-anweisung, Beispiel 43 / 47 Beispiel for ( i n t i =0; i <10; ++ i ) { System. out. p r i n t ( a = ) ; i n t a = sc. n e x t I n t ( ) ; System. out. p r i n t ( b = ) ; i n t b = sc. n e x t I n t ( ) ; i f ( b==0) continue ; System. out. p r i n t l n ( a / b ) ; }

continue-anweisung, Beispiel continue mit Marke Beispiel aussen : for ( i n t i =1; i <=4; ++ i ) { for ( i n t j =1; j <=4; ++ j ) { i f ( j ==2) continue ; i f ( i ==2) continue aussen ; System. out. p r i n t l n ( i j ) ; / / Ausgabe : 1 3 4 3 9 12 4 12 16 } } Achtung Wie die Verwendung der break Anweisung ist auch die Verwendung der continue Anweisung sehr verwirrend! Mit beiden Anweisungen sollte, wenn überhaupt, nur sehr sparsam umgegangen werden! 44 / 47

Gliederung 45 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for Schleife 8 while Schleife 9 do Schleife 10 break Anweisung 11 continue Anweisung 12 Leere Anweisung

46 / 47 Leere Anweisung Syntax ; // Ausdrucksanweisung ohne Ausdruck {} // Verbundanweisung ohne Anweisungen Leere Anweisungen sind wirkungslos. Sie sind manchmal aus syntaktischen Gründen sinnvoll.

Leere Anweisung, Vorsicht! Achtung manchmal führen leere Anweisungen zu versteckten Fehlern, wie in den folgenden Beispielen: if (2 > 3); System.out.print ("nanu"); Ausgabe: nanu if (2 < 3) System.out.print ("klar..."); else; System.out.print ("nanu"); Ausgabe: klar...nanu int i=33; for (i=0; i<10; i++); System.out.print (i); Ausgabe: 10 47 / 47