Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Java 7 Grundkurs

Strings verknüpfen und vergleichen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Für die Verknüpfung von Strings verwenden wir den Operator "+". Bei Vergleichen gibt es ein paar Dinge mehr zu beachten und auch das sehen Sie in den Beispielen im Film.
06:01

Transkript

Auch für Strings gibt es Operatoren und zwar lassen sich Strings verknüpfen und miteinander vergleichen. Für das Verknüpfen von Strings wird der Operator "+" verwendet. Das Plus verwenden wir normalerweise für die Addition, aber wenn wir Strings addieren, dann heißt das, dass wir sie hintereinander hängen. Dazu genügt es schon, dass wenigstens einer der beiden Beteiligten ein String ist. Schauen wir uns dieses Beispiel an: Ich habe hier eine Int-Variable, die heißt "Anzahl" und hat den Wert 3. Nun deklariere ich mir hier die Variable "Nachricht" vom Typ String und weise ihr das Ergebnis des Ausdrucks auf der rechten Seite zu. Diese besteht aus der zweimaligen Verwendung des Operators "+" und wird, wie alle Ausdrücke, wenn kein Vorrang zu beachten ist, von links nach rechts abgearbeitet. Zuerst haben wir also diese Addition. Sie besteht aus einem String und einer Zahl und damit das funktioniert, wird die Zahl automatisch in einen String konvertiert. Das bedeutet: Wir haben dann also zwei Strings, nämlich "Wir haben" und den String "3" und die werden aneinander gehängt. Das Ergebnis ist also ein String. Dieses Plus bekommt nun also zwei Strings: Einmal "Wir haben drei" und einmal "Treffer". Diese beiden Strings werden wieder aneinander gehängt, sodass also das Ergebnis ein String ist, den wir dann der Variable "Nachricht" zuweisen können. Zur Sicherheit machen wir noch ein zweites Beispiel. Und zwar möchte ich hier eine einfache Berechnung ausführen und das Ergebnis der Berechnung gleich ausgeben. Dazu möchte ich mir einen entsprechenden Text zusammenstellen, nämlich diesen. Wenn Sie sich diesen Ausdruck einen Moment anschauen, dann werden Sie sicherlich entdecken, wo der Fehler liegt. Wie schon im ersten Beispiel, erfolgt nämlich die Auswertung des Ausdrucks von links nach rechts, d.h. das hier wird zuerst ausgewertet, also "1+2=" als String und dann wird hinten dran die "1" gehängt, die auch in einen String umgewandelt wird. Danach erfolgt die Auswertung des zweiten Plus und jetzt wird also diese "2" hier auch in einen String umgewandelt und an den bereits vorhandenen String angehängt, sodass unser Ergebnis also lauten würde: "1+2=12". Das wollen wir natürlich nicht und um das Ganze richtig zu machen, müssen wir an dieser Stelle dann hier, um diese Addition Klammern setzen. Damit wird es zu einer ganz normalen Zahlenaddition. Die Zahlen werden addiert, ergeben "3". Dieses Ergebnis wird dann über dieses Plus mit diesem String verknüpft, sodass wir dann einen Ergebnis-String haben, der jetzt richtig heißt: "1+2=3" und das dieser Variablen zuweisen können. Wir haben jetzt gesehen, wie man Strings miteinander verknüpfen kann. Nun schauen wir uns noch an, wie wir Strings vergleichen können. Auch dafür gibt es wieder das passende Beispiel. Ich deklariere mir hier drei Textvariablen. Die erste heißt "Vorsilbe" und dann der Text "un", die Zweite heißt jetzt "ein Text" und wird gebaut aus "Vorsilbe + gleich" d.h. "Ein Text" ist jetzt demzufolge der Text "ungleich". Nun kommt die dritte Variable. Die heißt: "Ein anderer Text" und da steht "direkt ungleich" drinnen. Jetzt vergleiche ich die beiden. Ich vergleiche "Ein Text" und "Ein anderer Text". Wenn dieser Vergleich "true" ergibt, dann gebe ich den Text aus: "Die Strings sind dieselben" Und wenn er "false" ergibt, dann gebe ich den Text aus: "Die Strings sind nicht dieselben". Jetzt führe ich dieses Programm mal aus und dann sehen wir: "Die Strings sind nicht dieselben". Wie kommt das? Strings sind ja Objekte. Wenn ich hier die Variable "Ein Text" deklariere und mir hier einen String baue aus "Vorsilbe + gleich", dann erzeuge ich ein String-Objekt. In der nächsten Zeile "Ein anderer Text ist ungleich", erzeuge ich ein zweites Objekt. "Ein Text" und "Ein anderer Text" sind aber nicht die Objekte selbst, sondern es sind nur die Referenzvariablen, die auf die Objekte verweisen. Was ich also hier mache, ist ein Vergleich der Referenzvariablen. Ich vergleiche, ob diese Variable denselben Wert hat wie diese Referenzvariable, also anders ausgedrückt, ob sie auf dieselbe Stelle im Speicher verweisen. Das tun sie natürlich nie. Es sei denn, sie verweisen tatsächlich auf dasselbe Objekt. Nun wollte ich aber eigentlich gar nicht die Referenzvariablen vergleichen, sondern ich wollte gerne wissen ob die Texte gleich sind, also ob "un + gleich" dasselbe ergibt wie "ungleich". Da dieser Operator "=" hier also offensichtlich nicht funktioniert, bieten mir Objekte, also auch die Strings, eine spezielle Methode für diesen Zweck: Diese Methode heißt Equals. Ich mache mal den Kommentar raus: Strg+Shift+C. Statt nun die beiden Variablen mit einem "=" zu vergleichen, nehme ich mir eine Variable, rufe die Methode Equals auf und übergebe die andere Variable. Ich überlasse es jetzt also den Strings, den Objekten, dass sie sich vergleichen können. Ich gehe zum ersten Objekt, rufe diese Methode auf und übergebe das zweite Objekt. Als Ergebnis bekomme ich jetzt einen boolschen Wert zurück und der ist "true", wenn dieses erste Objekt der Meinung ist, dass es dem Zweiten gleicht und ich würde ein "false" bekommen, wenn es der Meinung wäre, dass es dem anderen Objekt nicht gleicht. Ich führe das noch mal aus. Dann sehe ich: "Die Strings sind nicht dieselben". Das kommt von hier oben und darunter steht: "Die Strings sind die gleichen". Also dieser Vergleich gibt offensichtlich "true" zurück. Wenn Sie also die Inhalte von zwei Zeichenketten vergleichen möchten, dann müssen Sie immer diese Equals-Variante" wählen. Nur, wenn Sie wissen möchten, ob beide Referenzvariablen tatsächlich auf dasselbe Objekt verweisen, dann nehmen Sie den Vergleich mit "gleich-gleich".

Java 7 Grundkurs

Machen Sie sich mit den Grundlagen der Java-Programmierung vertraut und lernen Sie die Syntax der Sprache sowie das Konzept der objektorientierten Softwareentwicklung kennen.

8 Std. 32 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!