Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/031 Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean,

Ähnliche Präsentationen


Präsentation zum Thema: "G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/031 Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean,"—  Präsentation transkript:

1 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/031 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.

2 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/032 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: Wert 1 & Wert 2 Oder-Verknüpfung:false false = false false true = true true false = true true true = true Oder-Verknüpfung in Java: Wert 1 | Wert 2

3 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/033 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)=2ergibt true Mathem. NotationJavaErläuterung ===Identität (Gleichheit) !=Ungleichheit <>größer als >=größer oder gleich als

4 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/034 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.ä.)

5 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/035 Operatorenreihenfolge (Priorität) PrioritätOperatorenAssoziativität 1 + -Vorzeichen (unär)rechts !logische Negationrechts (Typ)Typkonversionrechts 2 * / %Multiplikation, Division, Restlinks 3 + -Addition, Subtraktionlinks 4 < <=kleiner, kleiner gleichlinks > >=größer, größer alslinks 5 ==Gleichheitlinks !=Ungleichheitlinks 6 &logisches Undlinks 7 |logisches Oderlinks 8 =Wertzuweisunglinks

6 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/036 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.

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

8 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.

9 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/039 Kontrollstrukturen: while- und do-while-Schleife 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.

10 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0310 Ü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 ?

11 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0311 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

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

13 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0313 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).

14 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0314 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;

15 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0315 Beispiel zu Arrays 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

16 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0316 Ü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.

17 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0317 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 [d 1 ][d 2 ]...[d n ]; Beispiel: int[][] matrix = new int[6][3]; erschafft eine zweidimensionale Matrix mit 6 Zeilen und 3 Spalten

18 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/0318 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 Wert 1 Wert 2 Wert 3 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

19 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2) & (!true==false) 3.true==(4!=3) & !(3<=3) 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)

20 G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2) & (!true==false) 3.true==(4!=3) & !(3<=3) 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


Herunterladen ppt "G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/031 Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean,"

Ähnliche Präsentationen


Google-Anzeigen