14
KAPITEL 3 GRUNDLAGEN DER INFORMATIK AUSDRÜCKE UND OPERATIONEN

03 Operationen

  • Upload
    steffen

  • View
    238

  • Download
    0

Embed Size (px)

DESCRIPTION

Java Operationen

Citation preview

KAPITEL 3GRUNDLAGEN DER INFORMATIK

AUSDRÜCKE UND OPERATIONEN

AUSDRÜCKEAusdrücke sind der Grundbaustein von Java. Der Rechner wertet einen Ausdruck aus.Dabei wird ein Wert mit einem bestimmten Datentypen berechnet.

LITERALE, NUMERALE UND BEZEICHNER

"Grundlagen der Informatik"420 7.5 myVar //Falls vorher als Variable deklariert

1234

Zeichenkette (Datentyp String)Ganze Zahl (Datentyp int)

Fließkommazahl (Datentyp double)Variablenname (Datentyp der Variable)

Literale (Zeile 1 und 4) und Numerale (Zeile 2 und 3) sind die einfachste Form einesAusdrucks.

1) Zeichenkettenliteral: Text, der von Java unverändert verwendet (z.B.angezeigt) werden soll2) Ganzzahlnumeral: Ein ganzzahliger Wert3) Fließkommanumeral: Eine Zahl mit Nachkommastellen4) Variablenname: Falls eine Variable mit dem Bezeichner existiert, wird derAusdruck zu deren Wert und Datentypen ausgewertet

AUSDRÜCKEpublic class Literal{ public static void main(String[] args){ System.out.println("Grundlagen der Informatik"); System.out.println(420); System.out.println(7.5); int myVar = 23; System.out.println(myVar); }}

12345678910

> Grundlagen der Informatik> 420 > 7.5> 23

AUSDRÜCKE - OPERATIONENMit Operationen können Ausdrücke verknüpft werden. Einige Beispiele sind...

public class BasicOps {

public static void main(String[] args){

int x;

x = 13;

int y;

y = x;

x = x + 29;

System.out.println("x = " + x + ", y = " + y);

}

}

123456789101112

arithmetische Operation

Zuweisungsoperation

Zeichenkettenoperation

Addition: Lies den Wert der Variablen x (hier 13) und addiere 29Zuweisung: Schreibe den Wert rechts (hier 13) in die Variable links (hier x )

Verknüpfung: Lies den Wert der Variablen y , wandle diesen in eine Zeichenkette

um und verknüpfe diese mit der Zeichenkette ", y = " .

OPERATIONEN - ZUWEISUNGEine Zuweisung ändert den Inhalt (oder Wert) einer Variablen. (➜ Kapitel 2)

<Bezeichner> = <Ausdruck>;

Links vom = steht immer der Bezeichner einer Variablen, rechts davon ein Ausdruck,der zu einem kompatiblen Datentyp ausgewertet wird. Der berechnete/ausgewertete

Wert wird durch die Zuweisung in die Variable auf der linken Seite kopiert.

public static void main(String[] args){ int x; x = 23; int y; y = x; x = 42; System.out.println(x + " " + y); }

12345678910

> 42 23

OPERATIONEN - ARITHMETIKOperationen können ein, zwei oder dreistellig sein. Beispiel zweistellig:

In Java gibt es die folgenden arithmetischen Operatoren:

<Ausdruck> <Operator> <Ausdruck>

Grundrechenarten: Addition (+ ), Subtraktion (- ), Multiplikation (* ), Division (/ )

Vorzeichen: + oder -Klammern: ( und )Modulo: % , entspricht dem Rest der Ganzzahligen Division

11 % 4 //Rest: 3-4 //Negatives Vorzeichen: -43 * 3 //Produkt: 97 / 3 //Ganzzahlige Division: 2

1234

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.

VERSCHACHTELTE AUSDRÜCKEAusdrücke können verkettet und verschachtelt werden.

BEISPIELE

Verschachteln von Variablenzugriff und Multiplikation:

int a = 2;4 * a // 4 * 2 8

Verschachteln verschiedener Operationen:

int a = 2;((3 + 2) * 5) % (4 - a) // ((5) * 5) % (4 - a) // (5 * 5) % (4 - a) // (25) % (4 - a) // 25 % (4 - a) // 25 % (4 - 2) // 25 % (2) 25 % 2 1

Verketten von zwei Operationen:

6 + 3 - 5 // 9 - 5 4

PRIORITÄTENWas wird von folgendem verketteten Ausdruck berechnet?

7 * 2 + 3

MÖGLICHE LESARTEN(7 * 2) + 3

14 + 317

7 * (2 + 3)7 * 535

TESTLAUFSystem.out.println(7 * 2 + 3);

> 17

ERGEBNISVerkettete Operationen werden nach Prioritäten geordnet ausgewertet

(siehe ).Java Documentation

OPERATORASSOZIATIVITÄTDie Prioritäten von * und / sind identisch. Was wird nun berechnet?

10 * 7 / 2

MÖGLICHE LESARTEN(10 * 7) / 2

70 / 235

10 * (7 / 2)10 * 330

TESTLAUFSystem.out.println(10 * 7 / 2);

> 35

ERGEBNISVerkettete Ausdrücke gleicher Priorität werden (in Java) von links nach rechtsausgewertet. Java ist damit linksassoziativ.

OPERATIONEN - VERGLEICHEOperationen können Werte vergleichen. Das Ergebnis ist ein Wahrheitswert, also truefür wahr oder false für falsch .(➜ Kapitel 4)

In Java gibt es die folgenden Vergleichsoperatoren:

Gleich (== ), Ungleich (!= )

Echt kleiner (< ), echt größer (> ), kleiner oder gleich (<= ), größer oder gleich (>= )

5 == 7 // false9 != 3 // true15 > 8 // true3 <= -9 // false5 == 7 == false // false == false true

12345

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.

OPERATIONEN - LOGIKWahrheitswerte können mit Hilfe von Operatoren verknüpft werden.

In Java gibt es die folgenden logischen Operatoren:Und (&& )Oder (|| )Negation (! )

BEISPIELE

true && false // falsetrue && true // truefalse && false // falsetrue || false // truetrue || true // truefalse || false // false!false // true!true // false

12345678

Hinweis: Das Programm speichert keine Ergebnise und zeigt nichts an. Es kann so nicht übersetzt werden.

SPEZIELLE OPERATORENIn Java gibt es noch einige spezielle Operatoren

INKREMENT/DEKREMENT

Das Inkrement ++ (Dekrement -- ) erhöht (verringert) den Wert einer Variablen um 1.

ZUWEISUNGEN

Verkürzte Zuweisungen (z.B. += , -= , *= , /= , %= , &= , |= ) erlauben es, den Wert einer

Variablen direkt zu verändern.

int a = 5;a *= 2;System.out.println(a);

int b = a++ + ++a;System.out.println("b:" + b + ", a:" + a);

123456

> 10> b:22, a:12

SANDKASTENSchreiben Sie ein Program, das die Summe von 7 und 25 berechnet und in einer

Variablen a speichert. Multiplizieren Sie den Inhalt von a mit 3 und legen Sie den Wert

in einer Variablen z ab.

Legen Sie eine Variable ergebnis an. Wenn der Wert in z gerade ist, soll diese mit dem

Wert 42 initialisiert werden, ansonsten soll sie 2 enthalten (Verwenden Sie nur

Zuweisungen und arithmetische Operationen!).

Geben Sie zuletzt den Inhalt der drei Variablen (durch Leerzeichen getrennt) aus.

public class MeineOperatoren {

public static void main(String[] args){

}

}

KAPITEL 3GRUNDLAGEN DER INFORMATIK

AUSDRÜCKE UND OPERATIONEN

© 2015 by F. Bauer (Computer Graphics Group Erlangen)

Der Foliensatz wurde vom an der Friedrich-Alexander-Universität Erlangen-Nürnberg

erstellt und unter der lizenziert. Die

enthaltenen Grafiken und Bilder sind Ausdrücklich von der Lizenzierung ausgeschlossen und dürfen nicht als eigenständige Werke oder in anderen

Werken verwendet werden.

Lehrstuhl für Graphische Datenverarbeitung

Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International

Herzlichen Dank für die tatkräftige Hilfe beim Erstellen der Folien geht ganz besonders an Vanessa Lange, Gerold Mittelstädt und Lukas Schmidt.