Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Basiswissen

Vergleichsoperatoren setzen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Zahlen werden innerhalb eines Programms unzählige Male mit Hilfe von Vergleichsoperatoren miteinander verglichen. Die darauffolgende Reaktion hängt dabei vom Ergebnis des Vorgangs ab.

Transkript

Wenn wir IF-Statements schreiben, dann überprüfen wir die Gleichheit normalerweise mit dem doppelten Gleichheitszeichen. "IF(A==B)" bedeutet, wenn der Wert von A der gleiche Wert ist, den B gespeichert hat, dann wird eben dieser Code ausgeführt und das kann manchmal etwas schwierig sein, weil dieses Gleichheitszeichen kann man leicht übersehen und man sucht da einen Fehler und kann sich nicht erklären, warum das Programm ein Verhalten an den Tag legt, dass ich nicht erwarte als Programmierer oder Programmiererin und das liegt eben daran, dass dieses doppelte Gleichheitszeichen leicht zu übersehen ist. Schauen wir uns an, wo der Unterschied zwischen dieser Zuweisung und dieser Gleichheit liegt. Ein Programm, das zunächst einmal so ausschaut: Die Variable A soll den Wert 5 erhalten und die Variable B den Wert 10. Dieses eine Gleichheitszeichen, das ist ja ein Befehl, d.h. "Packe den Wert 10 und schreibe ihn in die Variable B", fertig. Und wenn wir jetzt versuchen, in einem IF-Statement das zu überprüfen und schreiben "IF(A=B)", dann ist diese Bedingung immer wahr. Warum? Weil dieses eine Gleichheitszeichen hier oben ja bedeutet: "Nimm die Variable B bzw. nimm den Wert der Variablen B und schreibe ihn nach A". Der Computer nimmt diesen Befehl, führt ihn aus und würde in dem Fall quasi zurückmelden: "Alles klar, ich habe es gemacht." Das heißt, ein einfaches Gleichheitszeichen ist ja keine Überprüfung auf Gleichheit, sondern ist dieser Zuweisungsoperator und das macht der Computer grundsätzlich, unabhängig davon, was in B steht, unabhängig davon, welchen Typ die Variable A hat. Wenn ich schreibe "A=B", ist es gleichbedeutend mit dem Befehl "Nimm den Wert von B und schreibe ihn nach A." Der Computer tut das, was wir ihm sagen und deswegen liefert dieses Statement immer ein "WAHR" zurück. Was wir brauchen, ist das doppelte Gleichheitszeichen. Es gibt noch mehr Operatoren mit diesem Zeichen, zunächst, das kennen Sie, die einfache Zuweisung. Der Befehl "Nimm einen Wert und schreibe ihn in die Variable." Die zweite Variante haben Sie gerade kennengelernt, die Überprüfung auf Gleichheit. Überprüfe, ob der linke Teil von diesen beiden Gleichheitszeichen den gleichen Wert hat, wie der rechte Teil, ob A und B z.B. beide dieselbe Zahl beinhalten. Es gibt noch eine dritte Variante und das sind drei Gleichheitszeichen, das nennt man strikte Gleichheit, das bedeutet, wenn wir unterschiedliche Variablentypen haben, dann soll nicht nur der Wert gleich sein, sondern auch der Typ dieser Variablen, die wir miteinander vergleichen. Ich möchte Ihnen das mal anhand eines Beispiels zeigen. Ich habe hier ein Programm, was hier in der Zeile eins zunächst einmal die Variable A definiert, da kommt die 123 rein. In der Zeile zwei gibt es dann die Variable B und hier kommt die 123 rein, allerdings als Zeichenkette, als String, das erkennen Sie daran, dass ich hier eben die Anführungszeichen außen herum geschrieben habe. Jetzt kommt die Überprüfung, hier ist ja der Kommentar, ich überprüfe also, ob A und B denselben Wert hat, wenn das der Fall ist, dann geht es in den ersten Teil der Schleife hinein, "A und B sind gleich, sie haben denselben Wert." Ansonsten steht hier "Beide Werte sind nicht gleich." Wenn ich das Programm jetzt hier mal speichere und aufrufe, dann sehen Sie, "A und B sind gleich", das ist das Verhalten, das wir auch erwarten, denn 123 als Zahl ist das Gleiche wie die Zeichenkette 123. Schauen wir uns mal an, was passiert, wenn ich hier drei Gleichheitszeichen schreibe, also eine strikte Überprüfung vornehme, dann wird nicht nur der Wert, also die 123 überprüft, sondern es wird zusätzlich nochmal nachgeschaut, haben denn beide Variablen auch den selben Typ? Hier oben haben wie ja eine Zahl, in dem Fall eine Ganzzahl, hier unten haben wir eine Zeichenkette. Ich speichere das Ganze mal ab und jetzt lade ich die Seite hier neu und Sie sehen, beide Werte sind nicht gleich, obwohl beide die 123 enthalten haben sie aber einen unterschiedlichen Typ. Zuerst ist es eine Nummer und hier unten ist es eine Zeichenkette. Und das ist der Unterschied zwischen den beiden Gleichheitszeichen und zwischen drei Gleichheitszeichen. Manche Programmierer oder Programmiererinnen gehen soweit, dass sie sagen, dass grundsätzlich mit den drei Gleichheitszeichen überprüft werden sollte, ob links und rechts davon derselbe Wert und derselbe Typ einer Variablen stehen. Persönlich sehe ich das ein bisschen anders. Man kann auch mit zwei Gleichheitszeichen die Gleichheit überprüfen, das muss auch jeder und jede für sich selber entscheiden, aber es ist natürlich so, dass bei diesen schwach typisierten Sprachen, wie JavaScript eine ist, eine strikte Gleichheit etwas Anderes ist, als eine normale Gleichheit. Schauen wir uns mal an, welche Vergleichsoperatoren es denn insgesamt gibt. "A==B", das hatten wir, das heißt, wir überprüfen ist in A und in B derselbe Wert enthalten, mehr erst mal noch nicht. Wenn wir schauen möchten, ob in der einen Seite "Thomas" und auf der anderen Seite "Pfeifer" steht, dann verwende ich ein Ausrufezeichen-Gleichheitszeichen, D.h. der Unterschied. Wenn A nicht gleich B ist, dann ist diese Bedingung wahr und dann soll dieser Code ausgeführt werden. Wir hatten gerade eben schon die strikte Gleichheit, also wenn A nicht nur den selben Wert wie B besitzt, sondern auch den selben Typen, wenn beides Ganzzahlen sind, wenn beides Fließkommazahlen sind, wenn beides Zeichenketten sind, nur dann ist diese Bedingung tatsächlich wahr. Wir können das natürlich auch nochmal verneinen, D.h., wenn A und B unterschiedliche Typen oder einen unterschiedlichen Wert haben, dann schreiben wir eben Ausrufezeichen und diese zwei Gleichheitszeichen. Für Zahlen, da können wir auch noch überprüfen, ob eine Zahl größer ist als die andere, das kennen wir aus dem Mathematikunterricht. Diese spitze Klammer, wie sie manchmal genannt wird, ist aber eigentlich ein in dem Fall Größer-Zeichen, also wenn A B ist, das Gegenteil davon ist, wenn A < B ist dann schreiben wir natürlich die andere spitze Klammer. Wir können auch überprüfen, ob beispielsweise A = B ist, nur dann ist diese Bedingung wahr und das Gegenteil davon, wenn A <= B ist. Wichtig ist, dass bei diesen zwei oder drei Zeichen kein Leerzeichen dazwischen stehen darf, denn sie sind quasi ein einzelnes Statement, das zusammen gehört. "Kleiner oder gleich", das ist ein Statement und deswegen müssen die direkt nebeneinander stehen. Schauen wir uns mal etwas kompliziertere Vergleiche an. Wenn wir z.B. sagen wollen, ich möchte überprüfen, ob A und B gleich sind und gleichzeitig überprüfen, ob C und D gleich sind, dann kennen Sie vielleicht dieses logische "und" oder logisches "oder", dann könnte ich da gedanklich ein kleines "und" hineinschreiben, d.h. diese Bedingung ist nur wahr, wenn A und B den gleichen Wert und den gleichen Typ haben und wenn gleichzeitig auf der anderen Seite auch C und D den gleichen Wert und den gleichen Typ haben. Und dieses gedankliche "und" das heißt auf Englisch "and". In manchen Programmiersprachen, wie z.B. PHP kann man dann auch ein "and" schreiben, in JavaScript geht das nicht, da muss ich dieses "und" ersetzen durch das kaufmännische "und" und das schreibe ich zwei Mal. Das heißt, diese Bedingung ist nur dann wahr, wenn A = B ist und gleichzeitig C und D denselben Wert und denselben Typ haben. Auf der anderen Seite kann ich auch überprüfen, wenn eine von beiden Bedingungen gleich ist, also wenn A = B ist, oder wenn C = D ist, also wenn mindestens eine von beiden Varianten zutrifft, dann soll diese gesamte Bedingung wahr sein und da schreibe ich eben kein "oder" oder kein "or" rein, sondern ich mache zweimal dieses Pipe Symbol, diesen senkrechten Strich, den schreibe ich zwei Mal, damit wird die gesamte Bedingung wahr, wenn mindestens eine dieser beiden Seiten hier wahr ist. Ich kann das Ganze auch etwas komplizierter machen, ich kann noch mehrere verschiedene Ebenen einbauen und um hier noch den Überblick zu behalten, kann ich die einzelnen Statements auch in runde Klammern schreiben. Wichtig, nur runde Klammern, keine eckigen Klammern, keine geschweiften Klammern. Das heißt, ich kann diesen Teil, der links und rechts von diesem kaufmännischen "und" oder von diesem senkrechten Strich steht auch zusammenfassen in diese runden Klammern und kann dann sagen: "Wenn A B ist und wenn gleichzeitig C < D ist, soll diese gesamte Bedingung wahr sein." JavaScript ist eine Sprache, die sich um Whitespace, um neue Zeilen natürlich nicht kümmert, d.h. ich kann das hier auch in verschiedene Zeilen packen, um es für mich als Menschen übersichtlicher zu machen. Dem Computer ist das völlig egal, der versteht auch, wenn ich drei runde Klammern aufmachen, müssen auch drei runde Klammern geschlossen werden, sonst kommt es zu einem Fehler. Als Mensch kann man in dieser dritten Zeile am Bildschirm schnell durcheinander kommen, wie viele Klammern müssen an welcher Stelle zugemacht werden und so kann es hilfreich sein, dass man gedankliche Einheiten auch in eine Zeile schreibt und eben schreibt: "Wenn A B ist", dann schreibe ich eine runde Klammer außenrum, dann mache ich eine neue Zeile das doppelte Und-Zeichen und dann überprüfe ich noch einmal innerhalb einer runden Klammer, ob C < D ist, dann wird in dem Fall eben die gesamte Bedingung wahr und ich kann meinen bedingten Code ausführen.

Grundlagen der Programmierung: Basiswissen

Steigen Sie ein in die Welt der Computerprogrammierung und verschaffen Sie sich das Grundwissen, um schon bald eigene Lösungen und Anwendungen zu schreiben.

5 Std. 38 min (64 Videos)
Bestes Java Script Einsteigertraining ever!
Hillmer
Ich habe schon viele Videotraings gesehen und auch selber erstellt, aber was Thomas Rose in diesem Training liefert ist eine didaktische und auch wirklich unterhaltsame Meisterleistung.

Wer sich völlig neu mit dem Thema JavaScript Programmierung auseinandersetezn will, sollte sich dieses Training unbedingt anschauen, ich kann mir kaum vorstellen, dass er es irgendwo besser lernen könnte. Unterhaltsam finde ich den Mix aus Screenrecording und persönlicher Vermittlung.

Einzig, das Training als allgemeines Programmierungtraining anzubieten, halte ich für nicht so glücklich, denn so übersehen die JavaScript Einsteiger, dass sie hier genau richtig wären.

Viele Grüße
Jan Hillmer
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!