Rechnen in Java – Operationen und Typecasting

Da wir nun Variablen deklarieren können wollen wir sie auch nutzen. Ein möglicher Nutzen ist das Rechnen. Also gucken wir uns doch mal an welche Operationen es in Java gibt.

Du findest am Ende des Beitrags noch einen Spickzettel zum Thema.

Operatoren

Aus der Schule kennst du bestimmt die 4 Grundrechenarten also +, -, × und ÷. Die Grundrechenarten gibt es natürlich in Java auch , sie sind auch sehr ähnlich: +, -, * , / . Es gibt aber such ein paar Operationen mehr. Hier kommen nun alle Operationen aufgelistet, du solltest bis auf eine alle kennen.

  • Grundrechenarten: +, -, *, /
  • Kleiner/ größer als: (kleiner)< , (größer)>
  • Kleiner/ größer oder gleich: <= , >=
  • Ist gleich/ ist nicht gleich: == , !=
    • Das ! Heißt in der Programmierung: ’nicht‘
  • Modulo: %
    • Der Modulo liefert dir den Rest bei einer Division

Du kannst nun also schreiben:

int ersteZahl = 42;

int zweiteZahl = 12;

int ergebnis = ersteZahl – zweiteZahl;

Die Variable ergebnis hat nun also den Wert 30.

Logische Operatoren

Die Gruppe der logischen Operatoren wird dir wahrscheinlich wenig sagen, wenn du nicht schon mit Schaltungen gearbeitet hast.

Bei den logischen Operatoren Verknüpfen wir mehrere Aussagen miteinander und vergleichen sie untereinander. Am Ende bekommen wir das Ergebnis dessen als Antwort.

Es gibt die Operatoren:

  1. ! = nicht, also
  2. &, && = und/ AND
  3. | , || = oder / OR
  4. ^ = XOR/ entweder oder

! (Nicht)

Dieser Operator negiert alle Aussagen. Wenn du also die Aussage ‚true‘ hast und du setzt davor ein ‚!‘, dann wird daraus ein false. Andersherum natürlich genauso.

Beispiel: 5 != 7 // liefert den Wert true; da 5 ungleich 7

&, && – und

Dieses Zeichen könnte dir bekannt vorkommen, wenn nicht dann weißt du jetzt dass es ‚und‘ bedeutet. Dieses ‚Und‘ liefert uns nur den Wert ‚true‘ zurück, wenn alle mit ihm verknüpften Aussagen ebenfalls true sind (oder alle false) andernfalls liefert es uns den Wert ‚false‘ (oder ‚true‘). Der Unterschied zwischen dem einzelnen und dem doppelten ‚&‘ besteht darin, dass bei dem doppelten das Programm automatisch aufhört die Bedingungen zu prüfen sobald es schon einmal dagegen verstoßen hat. Also wenn es drei Werte sind.. und der zweite ist schon anders als der erste, hört der Algorithmus hier auf und liefert den Wert ‚false‘ zurück.

Beispiele: 5 ==5 && 7 != 7 // liefert den Wert false

6 != 9 && 10 > 5 // liefert true

|, || – Oder

Für das ‚oder‘ gilt genau das selbe wie für das ‚und‘ nur eben anstelle des ‚und‘ ein ‚oder‘.

Das heißt sobald eine Aussage positiv ist, ist alles positiv.

Beispiel: 5 == 7 || 7 < 10 // liefert den Wert true da 7 kleiner ist als 10

^ – XOR

Hier ist die gesamte Aussage nur wahr sobald jede Aussage das Gegenteil von der anderen ist.

Beispiel: 5 == 5 ^ 7 != 7 // liefert true, weil beide Werte entgegengesetzt sind

5 == 5 ^ 7 ==7 // liefert uns false, da zweimal true herauskommt

Typecasting

Es kann natürlich passieren das euch im weiteren Programmablauf auffällt das der gewählte Datentyp nicht weiter verwendet werden kann, weil er zum Beispiel zu klein ist. Es ist nur wichtig das du dann weißt dass es etwas Namens Typecast gibt. Bei einem Typecast wird der Datentyp einer Variablen angepasst. D.h. anstelle eines Integers haben wir am Ende ein Double.

Es gibt zwei Arten von Typecasts:

  • Implizite Typecasts: du gibst die Typänderung nicht an und sie wird trotzdem durchgeführt. Sie finden nur bei Wertebereich Erweiterungen statt.
  • Explizite Typecasts: hier gibst du die Anpassung extra/explizit an. Findet nur bei Wertebereich Minimierungen statt.

Impliziter Typecast

Bei dem impliziten Typecast musst du nichts machen. Sobald es sich um Wertebereich Erweiterungen handelt funktioniert der von ganz allein. In der Grafik kannst du sehen in welcher Reihenfolge implizite Typecasts möglich sind. Wenn du in die andere Richtung der Pfeile gehst, musst du den Typecast angeben.

Impliziter-Typecast-Reihenfolge

Expliziter Typecast

Wie eben schon beschrieben verwenden wir explizite Typecasts wenn wir den Typ wesentlich ändern müssen.

Die Angabe mit der man so einen expliziten Typecast macht ist sehr einfach. Du schreibst einfach vor der zu Variablen die gecastet werden soll den neuen Datentyp in Klammern also zum Beispiel: (int) 43.2

Du musst nur aufpassen was du für Werte erhältst nach einem Typecast.

  • Wenn du von einer Gleitkommazahl auf eine ganz Zahl Castest wird nicht gerundet!! Es wird einfach alles nach dem Komma abgeschnitten.
  • Du kannst von char auf int casten. Du erhältst dann den Unicode Wert des jeweiligen Zeichens.

Jetzt wo du weißt wie man in Java rechnet und notfalls auch die Datentypen anpassen kannst, lass uns das Gelernte anwenden.

Um alles noch einmal griffbereit zu haben ist hier noch ein Spickzettel, nun kann das Coden starten.

Spickzettel

Vorher lass doch aber noch ein Like und/oder ein Kommentar da und erzähl mir wie ich den Artikel verbessern kann oder was dir gut gefallen hat.

Teilen/ Pinnen,… ist natürlich erwünscht.