Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Klassen - Verkettete Liste -
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Forschungszentrum caesar
Einführung in die Programmierung Zusammenfassung
der Universität Oldenburg
Verteilte Software - Java - Prozedurale Programmierung 1
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Zusammenfassung Vorwoche
Entwicklungsrichtlinien für Java-Software PG-AQUASIUM Michael Weking
int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0);
DVG Ablaufsteuerung
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Einführung in die Programmierung Anweisungen und Datentypen
Bestimmung des ggT zweier Zahlen
Struktogramme IF-ELSE FOR – Schleife
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
Rekursive Funktionen (Fakultät)
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik WS 200^8 Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 2 für Wirtschaftsinformatik Dr. Wieland Schwinger
Style Guidelines für Java und .NET
Purga - Scriptengine Ein Einblick.
Algorithmen und Datenstrukturen Übungsmodul 1
EPROG Tutorium #3 Philipp Effenberger
Einführung in PHP 5.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Starten der Entwicklungsumgebung (IDE)
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
PI Burgenland Java und JavaScript 1. Teil
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Wieland Schwinger Softwareentwicklung 2 Assertions.
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Variablen und Datentypen
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Praktische Informatik 1
Hello World! Javakurs 2013 Arne Kappen
Aufgaben zu Rückgabewerten
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Cäsar-Verschlüsselung
SS 04 Christiane Rauh Christian Hellinger
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Cäsar-Verschlüsselung
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger UE02 D - Kontrollstukturen

Abteilung für Telekooperation Folie-2 Softwareentwicklung I UE Schwinger Kontrollfluß Blöcke: { … } Verzweigungen: if-else, switch-case-default Schleifen: for, while, do-while, break, continue Exceptions: try-catch-finally Sonstige: break, continue, label:, return

Abteilung für Telekooperation Folie-3 Softwareentwicklung I UE Schwinger Kontrollfluß Blöcke Lokale Variablen in geschachtelten Blöcken class Test { public static void main(String[] args) { int x = 1; {// Block 1 beginnt int y; int x;//NICHT ERLAUBT y=1;//Zuweisung an }// Block 1 endet y = 0;//NICHT ERLAUBT - y nicht bekannt {// Block 2 beginnt int y; //erlaubt }// Block 2 endet } // end main } // end class Test

Abteilung für Telekooperation Folie-4 Softwareentwicklung I UE Schwinger Variablendeklaration (1) Lokale Variablen public class LocalVariableDeclaration { public static void main (String[] arg) { int cnt = 0; // Zähler für... (Anfangswert 0) boolean alive; //... (immer ein Kommentar!) } } Globale Konstanten public class ConstantDeclaration { static final int NUMBER_BASE = 10; // Basis für... static final boolean NO = false; // NEIN... static final double PI = 3.14; // PI public static void main (String[] arg) { } } innerhalb eines (Methoden-) Blocks (z.B.: main)! ausserhalb der (Methoden-) Blöcke (z.B.: main)! final... Variable ändert sich nicht!

Abteilung für Telekooperation Folie-5 Softwareentwicklung I UE Schwinger Wahrheitswert ( true oder false ) boolean b = true; // Variable, d. e. Wahrheitswert speichert boolean d = false; // Variable, d. e. Wahrheitswert speichert Variablen und Datentypen boolean

Abteilung für Telekooperation Folie-6 Softwareentwicklung I UE Schwinger char x = 'b'; // Variable vom Typ char... x == 'a'... // Vergl. von 2 char... x == "Hans"... // GEHT NICHT wegen Datentyps! String name = "Fred"; // Variable vom Typ String... name == "Hans"... // GEHT NICHT wegen String! boolean b = i>0 == true; //entspricht b = i>0; unschoen! Verlgeichsoperatoren: =, > Datentyp des Ergebnisses ist boolean … i+j <= 10 … Variablen und Datentypen boolean 1) i + j ermitteln 2) (i + j) mit der Konstante 10 vergleichen Jeden Ausdruck, der ein boolean'sches Ergebnis liefert bezeichnet man auch als logischen Ausdruck (boolean expression)!

Abteilung für Telekooperation Folie-7 Softwareentwicklung I UE Schwinger Kontrollfluß if-else 1/2 Verzweigung if( a > b ) System.out.println(a); // falls a>b else System.out.println(b); // falls a<=b Verwendung von Anweisungsblöcken {…} if ( a > b ) { System.out.println(a); … } else { System.out.println(b); … } die häufigere Variante!

Abteilung für Telekooperation Folie-8 Softwareentwicklung I UE Schwinger Kontrollfluß Beispiele if(Ausdruck) System.out.println("A"); else System.out.println("B"); Gegeben: Annahme: int i = 5;es wird das Zeichen 'c' boolean b = false;eingegeben char c; Ausdruck:Ausgabe?: a) i > 10B b) i != "Hugo"-... Compiler-Fehler c) (i <= 10) != bA d) bB e) IO.read()=='c'A f) c=IO.read() == 'c'-... Compiler-Fehler g) 'c'==IO.read()A h) (c=IO.read()) == 'c'A

Abteilung für Telekooperation Folie-9 Softwareentwicklung I UE Schwinger Variablen und Datentypen Der Auswahloperator ? : Bedingte Auswertung int max = a > b ? a : b; Abkürzung für: int max; if (a > b) max = a; else max = b; Nur erlaubt bei Ausdrücken, deren Ergebnis verwendet wird (Zuweisung, Parameter) nicht empfohlen!

Abteilung für Telekooperation Folie-10 Softwareentwicklung I UE Schwinger Boolsche Operationen: &, |, ! int i=10, j=-1; boolean b = i > 0 & j > 0;//false boolean d = i > 0 | j > 0; //true alternative Schreibweise mit Klammerung: boolean d = ((i > 0) | (j > 0)); //true Variablen und Datentypen boolean

Abteilung für Telekooperation Folie-11 Softwareentwicklung I UE Schwinger Boolsche Operationen: &&, || mit Kurzschluß-Auswertung: if ( j>0 && i/j>=5) {…} while (i<tab.length && tab[i]!=0) {…} if ( a != 0 && b / a > 0 ) x = 0; if ( a == 0 || b / a > 0 ) x = 1; Variablen und Datentypen boolean NB: Für Abfragen (if) und Schleifenbedingungen (while) ist die Form mit "Kurzschlussauswertung" die geeignetere! äquivalent zu: if (a != 0) if (b / a > 0) x = 0; if (a == 0) x = 1; else if (b / a > 0) x = 1; wenn false, ist gesamter Ausdruck false wenn true, ist gesamter Ausdruck true

Abteilung für Telekooperation Folie-12 Softwareentwicklung I UE Schwinger Regeln von DeMorgan ! (a && b) => ! a || ! b ! (a || b) => ! a && ! b Diese Regeln helfen beim Bilden von Assertionen if (x >= 0 && x < 10) {...// hier gilt: x >= 0 && x < 10 } else {...// x = 10 } Variablen und Datentypen Negation zusammengesetzter Ausdrücke Vermerken Sie nach Möglichkeit immer die geltenden Bedingung bei Verzweigungen

Abteilung für Telekooperation Folie-13 Softwareentwicklung I UE Schwinger Kontrollfluß if-else 2/2 Achtung: Dangling else! else gehört immer zur innersten Verzweigung (d.h. zum letzten if )! if (a>b) if (a>0) max = a; else max = b; //bezieht sich auf max = a Ausweg: leeres else, z.B. if (a>b) if (a>0) max = a; else; //bezieht sich auf max = a else max = b; unschön! Blöcke verwenden!

Abteilung für Telekooperation Folie-14 Softwareentwicklung I UE Schwinger Kontrollfluß while Abweisende Schleife, z.B. Summe der Zahlen von 1 bis n: int n = …; int i = 1, sum = 0; while (i <= n) { sum = sum + i; i = i + 1; } // i > n Minimale Anzahl der Schleifendurchläufe ist 0

Abteilung für Telekooperation Folie-15 Softwareentwicklung I UE Schwinger Kontrollfluß do-while Durchlaufschleife (Nichtabweisende-Schleife) int i = 1; do { System.out.println("Das ist das "+(i++)+". Mal."); } while (i <= 10) // i > 10 Minimale Anzahl der Schleifendurchläufe ist 1

Abteilung für Telekooperation Folie-16 Softwareentwicklung I UE Schwinger Kontrollfluß for Zählschleife, z.B. Ausgabe der Kommandozeilenparameter for (int i = 0; i < args.length; i++) { System.out.println("Nr. " i + " ist " + args[i]); } Äquivalente while-Schleife: { int i = 0; while (i < args.length) { System.out.println("Nr. " i + " ist " + args[i]); i++; }