Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.

Ähnliche Präsentationen


Präsentation zum Thema: "Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George."—  Präsentation transkript:

1 Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George Boole). Boolesche Ausdrücke können nur die zwei (Wahrheits-)Werte true oder false annehmen. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

2 Komplexe Boolesche Ausdrücke
Komplexe Boolesche Ausdrücke werden mit den Mitteln der Aussagenlogik gebildet: Nicht / Negation: ¬ true = false ¬ false = true Negation in Java: ! Wert Und-Verknüpfung: false  false = false false  true = false true  false = false true  true = true Und-Verknüpfung in Java: Wert1 & Wert2 Oder-Verknüpfung: false  false = false false  true = true true  false = true true  true = true Oder-Verknüpfung in Java: Wert1 | Wert2 G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

3 Relationale Operatoren
Relationale Operatoren setzen ihre Operanden zueinander in Beziehung und liefern den Wahrheitswert der Beziehung zurück. Beispiele: 5 < 3 ergibt false (4-2)=2 ergibt true Mathem. Notation Java Erläuterung = == Identität (Gleichheit) != Ungleichheit < kleiner als <= kleiner oder gleich als > größer als >= größer oder gleich als G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

4 Verkürzte Auswertung logischer Ausdrücke (II)
Vorteile von && und || gegenüber & und | oftmals schnellere Programmausführung Realisierung von Bedingungen mit Vorbedingungen Beispiel: if (d!=0 && 20/d > 5) ... Für den Fall d=0 darf der zweite Operand des &&-Operators nicht ausgewertet werden. Aber: auch die Nebeneffekte abgekürzter Operatoren werden nicht ausgeführt (wie z.B. Bildschirmausgaben innerhalb von Funktionen u.ä.) G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

5 Operatorenreihenfolge (Priorität)
Assoziativität 1 + - Vorzeichen (unär) rechts ! logische Negation (Typ) Typkonversion 2 * / % Multiplikation, Division, Rest links 3 Addition, Subtraktion 4 < <= kleiner, kleiner gleich > >= größer, größer als 5 == Gleichheit != Ungleichheit 6 & logisches Und 7 | logisches Oder 8 = Wertzuweisung G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

6 Verkürzte Auswertung logischer Ausdrücke (I)
Vor der Berechnung des Wertes eines (logischen) Operators werden die Werte aller seiner Operatoren bestimmt. Die Und-Verknüpfung && (Konjunktion) und Oder- Verknüpfungen || (Disjunktion) verkürzen u.U. die Auswertung: Eine Oder-Verknüpfung ist generell wahr, sobald der erste wahre Operand gefunden wird. Eine Und-Verknüpfung ist generell falsch, sobald der erste falsche Operand gefunden wird. In diesen Fällen werden bei den Operatoren && und || die restlichen Operanden nicht mehr ausgewertet. Die Auswertung findet im Regelfall von links nach rechts statt, es sei denn sie wird durch runde Klammern anders vorgegeben. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

7 G. Gröger - Einführung in die Programmierung mit Java - 1
G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

8 Übung im GIS-Labor Schreiben Sie ein Programm, das die Zahlen von 1 bis 50 aufzählt, wobei anstelle der durch drei oder durch sieben teilbaren Zahlen „autsch“ ausgegeben werden soll. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

9 Kontrollstrukturen: while- und do-while-Schleife
Syntax: while ( boolean-Ausdruck ) Anweisung; Schleife mit Eintrittsbedingung Anweisung wird 0 bis x-mal ausgeführt do-while-Schleife: Syntax: do Anweisung; while ( boolean-Ausdruck ); Schleife mit Wiederholungsbedingung Anweisung wird mindestens einmal ausgeführt Hinweis: Sollen mehrere Anweisungen im Schleifenrumpf aus-geführt werden, so müssen diese durch geschweifte Klammern zu einem Block zusammengefasst werden. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

10 Übung im GIS-Labor 1. Simulation eines Würfels: Schreiben Sie ein Programm, das bei jedem Aufruf eine zufällige ganze Zahl zwischen 1 und 6 ausgibt. 2. Logische Ausdrücke a) true & false | true b) (10>2) & (!true==false) c) true==(4!=3) & !(3<=3) 1. Notieren Sie die Ausdrücke in mathematischer Schreibweise; z.B.: ¬ true  (32  true) 2. Wie lauten die Wahrheitswerte der Ausdrücke ? G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

11 Arrays Bisher: primitive Datentypen (int, double, ...)
Arrays als erster nicht-primitiver Datentyp Alle Werte haben denselben Typ (z.B. int) Zugriff über Index: my_array[2] = 12; Indizes fangen mit 0 an Integer-Array mit fünf Elementen G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

12 Arbeiten mit Array-Variablen (I)
3 Schritte: (nur Schritt 2 ist wirklich neu) Deklaration int[] my_array; // Array von Integerzahlen Instantiierung my_array = new int[3]; // Erschafft Array mit 3 Elem. Initialisierung my_array[0] = 17; my_array[1] = 0; my_array[2] = -4*my_array[0]; G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

13 Arbeiten mit Array-Variablen (II)
Alternative: alle drei Schritte auf einmal Deklaration mit impliziter Erschaffung und Initialisierung: int[] my_array = {45, -117, 12, 0, 999}; erschafft ein 5-elementiges Array und initialisiert es mit den aufgezählten Werten (angefangen bei Index 0). G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

14 Hinweise zu Arrays (I) Größe eines Arrays kann erst zur Laufzeit feststehen: int[] my_array; int i = //zur Laufzeit berechnet my_array = new int[i]; Größe eines Arrays kann mittels arrayname.length abgefragt werden: int laenge = my_array.length; G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

15 Beispiel zu Arrays Ausgabe: Programm:
// Bestimmung der kleinsten Zahl eines ganzzahligen Arrays class Minimum { public static void main (String args[]) { int[] my_array = {45,12,1,13,-4,0,-23,1001}; int minimum, i; minimum=my_array[0]; for (i=1; i<my_array.length; i=i+1) if (my_array[i]<minimum) minimum=my_array[i]; System.out.print("Die kleinste Zahl ist "); System.out.println(minimum); } Ausgabe: Die kleinste Zahl ist -23 G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

16 Übung im GIS-Labor Schreiben Sie ein Programm, das ein Array mit 6 double-Werten erzeugt, dieses mit selbst gewählten Werten initialisiert und die Summe dieser 6 Werte ausgibt. G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

17 Mehrdimensionale Arrays
Anwendungen zweidimensional: Repräsentation von Matrizen zwei- und mehrdimensional: Speicherung von Wertetabellen Mehrdimensionale Arrays werden durch Arrays von Arrays dargestellt Syntax zur Deklaration und Instantiierung eines n-dimensionalen Arrays: Typ [ ][ ]...[ ] Arrayname = new Typ [d1][d2]...[dn]; Beispiel: int[][] matrix = new int[6][3]; erschafft eine zweidimensionale Matrix mit 6 Zeilen und 3 Spalten G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

18 Hinweise zu Arrays (II)
Arrays sind keine primitiven Datentypen Array-Variablen enthalten nicht selbst das Array, sondern verweisen auf ein Array, das durch new irgendwo im Hauptspeicher angelegt wird. Beispiel: int[] myArray=new int[3]; myArray Wert1 Wert2 Wert3 kein simpler Vergleich zweier Arrays möglich: int[] a={7,12,13,0}; int[] b={7,12,13,0}; System.out.println(a==b); ergibt die Ausgabe false G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

19 2. Übungsaufgabe vom 31. 10. Logische Ausdrücke 1. true & false | true
a) Notieren Sie die Ausdrücke in mathematischer Schreibweise; z.B.: ¬ true  (32  true) b) Wie lauten die Wahrheitswerte der Ausdrücke ? Lösung zu a) 1. true  false  true 2. (10>2)  (¬true=false) 3. true=(4  3)  ¬(33) G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03

20 2. Übungsaufgabe vom 31. 10. Logische Ausdrücke 1. true & false | true
a) Notieren Sie die Ausdrücke in mathematischer Schreibweise; z.B.: ¬ true  (32  true) b) Wie lauten die Wahrheitswerte der Ausdrücke ? Lösung zu a) 1. true  false  true 2. (10>2)  (¬true=false) 3. true=(4  3)  ¬(33) zu b)  true  false G. Gröger - Einführung in die Programmierung mit Java Semester - WS 02/03


Herunterladen ppt "Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George."

Ähnliche Präsentationen


Google-Anzeigen