Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben. Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden Beispiel:

Ähnliche Dokumente
Diana Lange. Generative Gestaltung Operatoren

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

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

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Einführung in die C++ Programmierung für Ingenieure

Programmierung in C. Grundlagen. Stefan Kallerhoff

5. Tutorium zu Programmieren

Tutorium Rechnerorganisation

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Einführung in die Programmierung

Erwin Grüner

5.4 Klassen und Objekte

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

Die Programmiersprache C99: Zusammenfassung

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Ein erstes Java-Programm

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Java-Programmierung mit NetBeans

Übungen zu C++ Kapitel 1

Übersicht Programmablaufsteuerung

Einfache Rechenstrukturen und Kontrollfluss II

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

Klausur in Programmieren

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Vorkurs Informatik WiSe 16/17

Kontrollstrukturen, Strukturierte Programmierung

Übungsblatt 3: Algorithmen in Java & Grammatiken

Java Kurs für Anfänger Einheit 5 Methoden

Einführung in die C-Programmierung

Programmierkurs Java

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

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

Java Einführung Operatoren Kapitel 2 und 3

Modellierung und Programmierung 1

Primitive Datentypen

Einführung in die Java- Programmierung

25 kann ohne Rest durch 5 geteilt werden! ist wahr

1 Vom Problem zum Programm

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Computeranwendung und Programmierung (CuP)

Einführung in die Java- Programmierung

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Prinzipielle Ausführungsvarianten I

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Objektorientierte Programmierung

Dr. Monika Meiler. Inhalt

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

"Alles, was einen Wert zurueckliefert, ist ein Ausdruck." Konstanten, Variablen, "Formeln" oder auch Methoden koennen Werte zurueckgeben.

Einführung in die Programmierung

Modul 122 VBA Scribt.docx

Einführung in die Programmierung

Vorlesung Informatik II

Java I Vorlesung Imperatives Programmieren

Deklarationen in C. Prof. Dr. Margarita Esponda

Fallunterscheidung: if-statement

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

1. Der Einstieg in Java. Was heißt Programmieren?

Die Programmiersprache C

Vorkurs Informatik WiSe 17/18

IT-Basics 2. DI Gerhard Fließ

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Klausur zur Einführung in die objektorientierte Programmierung mit Java

3. Grundregeln für die Java-Programmierung

Angewandte Mathematik und Programmierung

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Einführung in die Programmierung

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Einführung in Javadoc

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Informatik Repetitorium SS Volker Jaedicke

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Delegatesund Ereignisse

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Funktionale Programmierung mit Haskell

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Einstieg in die Informatik mit Java

Übungen Programmieren 1 Felix Rohrer. Übungen

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Kontrollstrukturen und Funktionen in C

Java: Vererbung. Teil 3: super()

Graphic Coding. Klausur. 9. Februar Kurs A

Technische Dokumentation SilentStatistikTool

Transkript:

Die Funktionen print() und println() Die Funktion System.out.printf() Format eines Funktionsaufrufs funktionsname(); Innerhalb der Klammern können Argumente angegeben werden Die Funktion kann ein Ergebnis zurückliefern Bildschirmausgaben Standardausgaben System.out.print(String s); System.out.println(String s); Fehlerausgaben System.err.print(String s); System.err.println(String s); class Ausgaben public static void main(string a[]) System.out.println("H2O"); System.out.print("H2"); System.out.println("O"); System.out.println(); System.out.println(17); System.out.println(17.4); System.err.println("Fehler"); H2O H2O 17 17.4 Fehler Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben Standardausgaben System.out.printf(String format, Object... objects); Fehlerausgaben System.err.printf(String format, Object... objects); Weitere Format-Einzelheiten in der Doku zu java.util.formatter class AusgabenNeu public static void main(string a[]) System.out.printf(">%12d<\n",100); System.out.printf(">%12.2f<\n",100.0); System.out.printf(">%12.2e<\n",100.0); System.out.printf(">%012.2f<\n",0.1); System.out.printf(">%d %f<\n",100, 0.1); System.out.printf(">%2$f %1$d<\n",100, 0.1); > 100< > 100,00< > 1.00e+02< >000000000,10< >100 0,100000< >0,100000 100< 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 1 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 2 Wahrheiswerte (Boolesche Variable) Boolesche Ausdrücke Vergleiche von Zahlen liefern die Wahrheitswerte wahr oder falsch Zur Darstellung von Wahrheitswerten dient der primitive Datentyp boolean mit dem Wertebereich:, Logische Operatoren für boolesche Variablen Und (&&) Oder ( ) && Exklusives Oder (^) Nicht (!) ^! =! = Vergleichs- Operatoren in Java == (gleich)!= (ungleich) < (kleiner) <= (kleiner gleich) > (größer) >= (größer gleich) liefern boolesche Werte Diese können wiederum mit == (gleich)!= (ungleich) verglichen werden 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 3 Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden boolean angemeldet, bezahlt, storniert, zahlungspflichtig; angemeldet = ; bezahlt = ; storniert = ; zahlungspflichtig = angemeldet &&!(bezahlt storniert); Booleschen Variablen können Vergleichsaussagen von Variablen zugewiesen werden float gemessenerdruck = 1.0f, maximaldruck = 18.8f; int zufluss = 2, abfluss = 3; boolean ueberdruck, unkritisch; ueberdruck = gemessenerdruck > maximaldruck; unkritisch =!ueberdruck && gemessenerdruck < 1.2f*maximalDruck && zufluss <= abfluss 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 4

Prioritäten der Operatoren 1. Unäre Operatoren +, -,! 2. Multiplikative Operatoren (Punktrechnung) *, /, % 3. Additive Operatoren (Strichrechnung) +, - 4. Vergleiche ==,!=, <, >, <=, >= 5. Exklusive Oder Verknüpfung ^ 6. Und Verknüpfung && 7. Oder Verknüpfung Klammerung geht immer vor! class BooleExample public static void main(string a[]) System.out.printf(">%12b<\n", && ^ ); System.out.printf(">%12b<\n", ( && ) ^ ); System.out.printf(">%12b<\n", && ( ^ )); > < > < > < Der Fragezeichen-Operator (?:) Einziger dreistelliger Operator in Java Erwartet einen logischen (booleschen) Ausdruck a zwei weitere Ausdrücke b, c Numerische Typen Referenztypen Auswertung Vom Typ boolean Auswertung des logischen Operators Ist er wahr wird der erste der beiden anderen Operanden ausgewertet Ist er nicht wahr wird der zweite der beiden anderen Operanden ausgewertet Typ des Rückgabewertes Ergebnis des Ausdrucks wahr a? b : c falsch b, wenn a wahr c, wenn a falsch Entspricht dem Typ des größeren der beiden Ausdrücke b und c 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 5 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 6 Zeichen Zeichen Zur Darstellung von Zeichen dient der primitive Datentyp char (vom engl. character) Wertebereich char c; Groß- und Kleinbuchstaben, Ziffern, Satzzeichen, Rechenzeichen, Sonderzeichen, Steuerzeichen Steuer- und Hilfszeichen können durch Voranstellung von \ dargestellt werden \n (Zeilenvorschub), \t (Tabulator), \f (Seitenvorschub) \ ( steht für ), \\ (steht für \), \ (steht für ) Vergleichsoperatoren ==,!=, <, <=, >, >= sind definiert Alphabetische Reihenfolge Reihenfolge des Unicodes Alle Zeichen werden in einfache hochgestellte Anführungszeichen eingeschlossen a, Ä, @,, -, +, 7 7 besitzt keinen Zahlenwert! Java verwendet Unicode zur internen Repräsentation von Zeichen Es können 2 16 =65536 verschiedene Zeichen dargestellt werden class CharExample public static void main(string args[]) char rund= (, eckig= [, geschweift= ; boolean x, y; x = rund < geschweift; y = eckig == geschweift; System.out.printf(">%6b%6b<\n", x, y); > < 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 7 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 8

Zeichenketten (Strings) Vergleich von Zeichenketten (Strings) Zur Darstellung von Zeichenketten (Folge von Zeichen) dient der (primitive) Datentyp String Zeichenketten werden, in doppelte Hochkommata eingeschlossen Hello World Zeichenketten können mit dem Operator + konkateniert werden String a = Hallo, b= Welt ; String c = a+b; System.out.println(c); Zeichenketten können auf zwei verschiedene Arten deklariert und initialisiert werden String a = Hallo ; String b = new String( Hallo ); Zeichenketten können durch == und!= verglichen werden String a = merkwürdig, b= merkwürdig, c = new String( merkwürdig ), d = new String( merkwürdig ); System.out.println(a + + (a==b)); System.out.println(c + + (c==d)); Achtung!!! Die Vergleiche <, <=, >, >= sind für Strings nicht zulässig merkwürdig merkwürdig 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 9 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 10 Initalisierung von Variablen Strenges Typsystem Bei der Deklaration einer Variablen kann man bereits einen Anfangswert (eine Initialisierung) angeben int x = 10; Bei der Deklaration mehrerer Variablen kann jede einzelne einen Wert zugewiesen bekommen int x = 10, y =20; Eine Variable muß einen Wert haben, bevor man sie verwendet int x =10, y; System.out.println( Summe: +x+y); Fehlermeldung vom Compiler: variable y might not have been initialized 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 11 Jede Variable besitzt einen eindeutigen Datentyp Festlegung der Art der gespeicherten Werte sowie der zulässigen Operatoren Strenges Typsystem erleichtert Erkennung von Programmierfehlern double x, y; y = x*3.14; y = x*; (Fehler) Operator legt Datentyp der Operanden fest! Im Allgemeinen mehrere Kombinationen von Datentypen zulässig Operator und Operanden-Datentyp legen Ergebnis-Datentyp fest Vergleichsoperatoren ==, <, >,!=,... liefern stets binäre Aussage vom Typ boolean 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 12

Typsystem Strenges Typsystem Anwendung von Operatoren auf unterschiedliche Datentypen y = 22 + 15.1; Was für ein Datentyp ist y? Implizite Datentyp-Anpassung Nicht zwischen beliebigen Datentypen möglich Nur in Richtung auf einen allgemeineren Datentyp hin byte short int long float double char boolean String Wird von Java-Unterprogramm tostring durchgeführt! Jeder primitive Datentyp kann als String wiedergegeben werden Mit Strings sind keine arithmetischen Berechnungen möglich 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 13 Manchmal ist Datentyp-Umwandlung mit großem Genauigkeitsverlust oder Bedeutungsänderung der Daten sinnvoll Abschneiden des Nachkomma-Anteils einer Gleitkommazahl Abbildung einer ganzen Zahl auf ein Zeichen mit entsprechendem Zahlencode Explizite Datentyp-Anpassung durch Voranstellen des gewünschten Datentyps in Klammern vor dem betreffenden Ausdruck int x=65; char y; y = (char) x; (y hat nun den Wert A ) 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 14 Explizite Datentyp-Anpassung Typkonversion (type cast) Was gibt folgendes Programmfragment aus? float x = 82.2f, y = 8.5f; int n = (int) (x/y); char a = (char) (int) x, b=(char) (a+1); System.out.println( gewandelt: +n+ +a+ +b); gewandelt: 9 R S Explizite Datentyp-Anpassung kann aus dem Wertebereich des Zieldatentypen herausführen (short) 100000 (liefert -31072) int i Datentyp-Anpassung (explizite und implizite) wird Typkonversion oder englisch type cast genannt Die (explizite) Datentyp-Anpassung von String zu Zahl ist nicht möglich! (int) 365 geht nicht! Abhilfe mit Funktionen geeigneter Wrapper-Klassen int ganzezahl = java.lang.integer.parseint( 365 ); (short) i 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 15 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 16

Kommentare Schachtelung von Kommentaren Anmerkungen (Kommentare) innerhalb eines Programms sind sehr wichtig (für IHR späteres Verständnis)! Erklären die Bedeutung von Variablen Erläutern den Sinn von Anweisungen Blenden Programmteile (zu Testzwecken) aus... Kommentare werden vom Compiler ignoriert Zwei Möglichkeiten für Kommentare Zeilenendkommentar: Beginnt mit //, endet mit der Zeile int sum; // sum of all input values Klammerkommentar: Beginn mit /*, endet mit */ /* The following programm computes the greatest common divisor of two variables x and y using the algorithm of Euklid */ In Java dürfen Klammerkommentare nicht geschachtelt werden /* A wrong comment example: /* Nested comments are not allowed */ // But this is allowed...*/ // And /* this is likewise permitted */ Empfehlungen Kommentieren, was nicht im Programm steht und wichtig ist Keine Kommentare, die nur wiederholen, was man ohnehin sofort aus dem Programmtext ablesen kann Ausführliche Kommentare besser am Anfang (im Kopf) als mitten im Programm Kommentare in derselben Sprache wie die Variablen-Namen im Programm: Am besten alles in Englisch! 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 17 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 18 Aufbau eines Javaprogramms Javadoc /**----------------------------------------------------------- * Organisation * Autor * Projekt, Auftrag * * Sinn und Zweck des Programms * * Getestet mit * Betriebssystem, Compilerversion *----------------------------------------------------------*/ public class NameIhresProgramms public static void main(string[] args) // Hier startet Ihr Programm... Deklarationen...... Anweisungen...... Kommentare Mittels Javadoc kann aus den Kommentaren im Quelltext automatisch eine HTML-Dokumentation erzeugt werden Javadoc Dokumentation unter (windows) http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javadoc.html Beispiel /** Beispiel zu javadoc * * @author schwanecke * @version 1.0 */ public class JavadocExample /** * Startroutine des Programms * @param args Kommandozeilenparameter */ public static void main (String[] args) System.out.println( Hello World ); > javadoc javadocexample.java erzeugt: 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 19 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 20

Anweisungen Leere Anweisung Besteht lediglich aus einem Semikolon Hat keinen Einfluß auf den Programmablauf Block Zusammenfassung von Anweisungen, die nacheinander ausgeführt werden In einem Block (lokal) deklarierte Variablen sind nur dort sichtbar/gültig Variablen-Deklaration Sichtbarkeit von Deklaration bis zum Ende des umschließenden Blocks Ausdrucksanweisung Dienen zur Ausführung von Ausdrücken in einem Anweisungskontext Werden durch Anhängen eines Semikolons erzeugt ; Anweisung1... Typname Variablenname; Typname Variablenname = wert; Ausdruck; 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 21 Zuweisung (Anweisungen) Eine Zuweisung besteht aus einem Variablennamen einem Gleichheitszeichen variablenname = ausdruck; dem Ausdruck einem abschließenden Semikolon Zuweisungen werden folgendermaßen abgearbeitet 1. Seite links vom Gleichheitszeichen wird ausgeführt um die Variable zu bestimmen, der ein Wert zugewiesen werden soll 2. Seite rechts vom Gleichheitszeichen wird ausgeführt (der Wert des Ausdrucks berechnet) 3. Wert der rechten Seite wird der linken Seite zugewiesen Typkompatibilität notwendig Evtl. implizite Typkonvertierung Beispiele int a =1, b=2, c, d; a = 3 + 2 * (a + b); b = 7 - a/2; c = 3 * (d = a + b + 1); 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 22 Zuweisungen diagramm Zuweisung: Variable = Ausdruck Spezielle Kurznotation einer Zuweisung: Variable Operator = Ausdruck Steht abkürzend für Variable = Variable Operator ( Ausdruck ) a += 10; (kurz für a = a + 10;) b -= 12; (kurz für b = b - 12;) c *= 8; (kurz für c = c * 8;) d /= 15; (kurz für d = d / 15;) Zuweisungen = Einfache Zuweisung += Additionszuweisung -= Subtraktionzuweisung *= Multiplikationszuweisung /= Divisionszuweisung %= Modulozuweisung Klammerung beachten a = a * 3/2; a *= 3/2; (a=5 liefert 7) (a=5 liefert 5) Inkrementieren / Dekrementieren Spezielle Kurzschreibweisen für das Inkrementieren bzw. Dekrementieren einer Variablen mittels der Operatoren ++ bzw. --. a++; oder ++a; (steht für a += 1;) b--; oder --b; (steht für b -= 1;) Tritt einer dieser Operatoren in einer Zuweisung auf, gilt folgende Regel: Ist der Operator nachgestellt (z.b. a++), so wird der Wert nach Verwendung der Variablen geändert Ist der Operator vorgestellt (z.b. --b), so wird der Wert vor Verwendung der Variablen geändert int a =2, b =3; a *= b++; b += 19 / --a; (a hat den Wert 6) (b hat den Wert 7) 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 23 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 24

Bedingte Anweisung (Verzweigung) diagramm if ( Bedingung ) Anweisung Anweisung Bedingung ist ein Ausdruck, der einen Wert vom Typ boolean liefert Jede Anweisung ist durch ein Semikolon zu beenden Mehrere Anweisungen werden durch geschweifte Klammern zusammengefasst Bei Nichterfüllen der Bedingung können (optional) Anweisungen im else-zweig angegeben werden Ist ein else-zweig vorhanden, kann bedingte Anweisung als Verzweigung aufgefasst werden. Sind mehrere bedingte Anweisungen mit else-zweig ineinander verschachtelt, so wird ein else-zweig immer dem innersten if zugeordnet, zu dem es gemäß diagramm gehören kann 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 25 else Beispiele if (a ==1) b++; else if (a==2) b--; float Winkel = Eingabe(); if (Winkel >90.0f && Winkel <180.0f) System.out.println( Stumpfer Winkel ); Winkel = 180.0f -Winkel; if (Winkel < 90.0f) System.out.println( Spitzer Winkel ); else if (Winkel == 90.0f) System.out.println( Rechter Winkel ); else if (Winkel <180.0f) System.out.println( Stumpfer Winkel ); else if (Winkel == 180.0f) System.out.println( Gestreckter Winkel ); 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 26 Die switch-anweisung Für größere Fallunterscheidungen, bei denen alle Bedingungen nur vom Wert einer Variablen abhängen die Abhängigkeit ausschließlich durch Gleichheitsabfrage ausgedrückt werden kann gibt es die switch-anweisung diagramm switch ( ganzzahliger Ausdruck ) case ganzzahlige Konstante : Anweisung break ; default : Anweisung Beispiel (switch-anweisung) int days, month, ziffer; switch (month) case 1: // Januar case 3: // März case 5: // Mai case 7: // Juli case 8: // August case 10: // Oktober case 12: days = 31; // Dezember break; case 4: // April case 6: // Juni case 9: // September case 11: days = 30; // November break; case 2: days = 28; // Februar break; default: System.out.println( Ziffer repräsentiert keinen Monat ); 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 27 26.10.2008 FH-Wiesbaden --- Medieninformatik --- WS 08/09 --- Prof. Dr. Ulrich Schwanecke 28