Mathematische Operatoren und deren Einsatz.

Die Operatoren für Berechnungen + (plus), - (minus), * (mal), / (geteilt) dürften wohl - vielleicht bis auf das Zeichen für geteilt - bekannt sein.

Die Operatoren für Gleich- und Ungleichheit > (größer als), < (kleiner als), und = (gleich) haben in Java-Script je nach Sitiuation sehr unterschiedliche Aufgaben.

Gleichheit und Ungleichheit

Diese Zeichen setzen sich fast immer aus zwei Zeichen zusammen, (zwischen denen kein Leerzeichen stehen darf!)
Zeichenkombination Bedeutung
a <= b Wert a ist kleiner oder gleich b
a >= b Wert a ist größer oder gleich b
a == b Wert a ist genau gleich b
a != b Wert a ist ungleich b
a < b Wert a ist kleiner b
a > b Wert a ist größer b

Diese vergleichenden Operatoren benutzt man vorwiegend bei Schleifen, z. B. while, und Bedingungen, z. B. if.

Beispiele:

while(a != b){mach dies und das}(Bedeutet: Solange a ungleich b ist, mach dies und das.)

if(a != b){mach dies und das}(Bedeutet: Wenn a ungleich b ist, mach dies und das.)

Das Zuweisungszeichen "="

Nun ganz wichtig: Bei Zuweisungen zu Variablen benutzt man ein Gleichheitszeichen.
Beispiel: var Schülermenge = "fünf". Man spricht dementsprehend besser von "Zuweisung" eines Wertes als von "Gleichsetzung mit einem Wert".
Wir lesen also: Der Variablen Schülermenge wird das Wort "fünf" zugewiesen.

Nun gibt es verschiedene Variablentypen. Die wichtigsten sind:

Es leuchtet wohl ein, dass man mit Strings nicht rechnen kann!

Ist nicht klar ersichtlich, welcher Variablentyp gemeint ist, geht Java-Script davon aus, dass ein String gemeint ist. Allerdings berechnet Java-Script auch manchmal Strings, wenn man nicht aufpasst. Oder es gibt den Wert "NaN" aus = "Not a Number".

Für die Multiplikation mit 1 gibt es eine Kurzform: *=1
Also: var a = "5" ist so eingegeben ein String, mit dem man nicht rechnen kann. var a = "5" *= 1 ist die Zahl 5, mit der man rechnen kann. Das sieht dann so aus:
var a = "5"; c = a *=1; Und schon ist 5 ein numerischer Wert, mit dem man rechnen kann.

Versuche einmal folgende Funktion (Rufe sie mit onload() im body auf!):

function rechnen() {
var a = "5"
//a = parseInt(a);
//a = a*=1 ;
c = a + 7;
window.alert(c) }

Achtung: Die Befehle hinter // werden nicht gelesen, weil // die Befehle auskommentiert!

So, wie die Funktion jetzt dasteht, fügt sie die Ziffern "5" und die Zahl "7" aneinander, sodass die Zahl "57" entsteht. Java-Script hat also die Ziffern als Strings gelesen und aneinander gefügt.
Nun lösche nacheinander die Kommentarzeichen (//) - auch im Wechsel - weg.
Du siehst, beide Befehle erzeugen aus der "5" den Zahlenwert 5, den Java dann gut mit 7 zu 12 addieren kann, wobei beide Befehle das Gleiche bewirken. Der Befehl parseInt() wandelt also Strings in Zahlenwerte um. Das Int (bitte "I" großschreiben!) bedeutet "integer = Ganzzahl". Willst du Kommazahlen benutzen (in Java musst du einen Punkt als Komma setzen!), nimmst du den Befehl parseFloat().

Aufgaben:

  • Du musst noch ein wenig mit der obigen Funktion spielen.
  • Benutze auch die anderen Rechenzeichen und parseFloat(). Achte dabei auf die Groß-/Kleinschreibung!
  • Logische Operatoren

    Mit dem logischen Operator && verknüpfst du zwei oder mehrere Bedingungen durch logisches "und", d.h. beide bzw. alle Bedingungen müssen erfüllt sein, damit die gesamte Bedingung erfüllt ist.

    Beispiel: if(i==5 && j < 7 && wort='neuWort'){...} heißt:
    Nur dann, wenn i gleich 5 und gleichzeitig i kleiner 7 ist und gleichzeitig auch noch die Variable wort gefüllt ist mit 'neuWort', dann mach, was in der Schweifklammmern steht.

    Mit dem logischen Operator || Tastenkombination? (bitte nicht mit // verwechseln!) verknüpfst du zwei oder mehrere Bedingungen inklusiv durch "oder".
    D.h. es genügt, wenn eine der Bedingungen erfüllt ist, damit die gesamte Bedingung erfüllt ist.

    Beispiel:if(i==5 || j < 7 || wort='neuWort'){...} heißt:
    Wenn
    i == 5 oder
    < j < 7 oder
    wort='neuWort' gegeben ist,
    dann mach, was in der Schweifklammmern steht.

    Der logische Operator ! (engl. not) prüft, ob ein Ausdruck unwahr ist.

    Der Ausdruck if (!name) trifft zu, wenn name gleich null, 0, ein Leerstring oder undefiniert ist.

    Aufgabe:

  • Spiel auch mit den logischen Operatoren ein wenig herum.
    Bau dir z. B. 2 window.prompt-Abfragen, mit denen du i und j abfragst. Bau dann eine if-Bedingung, indem du beide abfragst und das Programm entsprehend reagieren lässt.
  •  

    Kurztest:
    Schreibe die Zeichen für logisches "und".
    Schreibe die Zeichen für logisches inclusives "oder".