Jetzt lerne ich Java 6

Strings umwandeln

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Fall sind zwei Richtungen der Umwandlung gemeint: Sie beginnen mit einem String und möchten mit der Zahl weiterrechnen - oder haben eine Zahl und möchten Stringmethoden darauf anwenden.
09:59

Transkript

Bei den ganzen Arbeiten mit Strings sollten wir ein wichtiges Thema nicht außer Acht lassen: das Umwandeln von Strings nach Zahlenwerten, oder genau den umgekehrten Wert, dass wir Zahlenwerte haben, die wir in Strings wandeln wollen. Und das passiert in der Praxis recht häufig. Stellen Sie sich vor, Sie bauen eine graphische Oberfläche mit Eingabefeldern, da wird eine Zahl eingetippt, und Sie sollen mit dieser Zahl eine Berechung von ihm. Nun, gut! Das, was eingetippt wird in einem Textfeld, kommt bei Ihnen als String an, als Zeichenkette. Nachdem Sie das Ganze kontrolliert haben, ob das wirklich umwandelbar ist, wandeln Sie es in unbenannte Zahl, weil Sie damit rechnen wollen. Oder Sie haben eine Zahl 47,11 , und diese 47,11, ich schreibe denn mal gernade hin, werden Sie umwandeln in ein String, weil Sie vorhaben, hier erst einmal den Punkt durch ein Komma zu ersetzen, wie es in Deutschland üblich ist, und dann vielleicht einen Euro dahinter zu hängen. Also, Sie sehen, hin und wieder muss man einfach umwandeln. Und daher wollen wir uns das in diesem Film näher anschauen. Das Erste, was wir jetzt also tun wollen, ist, das Umwandeln von Zahlen in String. Hier finden wir jetzt in unserem Beispiel 47.11, und um das umzuwandeln, können wir direkt die Klasse String verwenden. Wenn wir die Klasse String verwenden und mal den Punkt setzen, sehen wir hier schon eine ganze Reihe an Methoden, und diese Methoden hier, besonders valueOf, sehen wir, dass diese hier als static ausgewesen ist. Wir haben das Schlüsselwort static noch gar nicht gehabt. Wir sind nicht noch in einer Objektorientierung, aber static zeigt mir an, dass ich diese Methode valueOf benutzen kann, ohne dass ich hier eine Instanz dieser Klasse habe, also, ich habe gehofft kein reales Objekt. Das ist natürlichein großer Vorteil. Ich muss mir jetzt nicht erst mal einen String erzeugen, um dann die Methode benutzen zu können, sondern ich verwende einfach die Klasse String hier direkt aus java.lang. Und das ist eine sehr praktische Geschichte. Daher kann ich einfach sagen string.valueOf, und Sie sehen, es gibt zu ziemlich für jeden Datentyp, den wir uns vorstellen kann, eine passende Methode. Das ist egal, welche wir jetzt hier wählen, wenn wir schreiben jetzt einfach uns 47.11 hier hinein. Das, was hier jetzt zurückkommt, das hier ist ein String. Weil Sie sowas nicht wissen, woher bekommen Sie Hilfe, Sie markieren einfach string und valueOf, das Ganze hier: rechte Maustaste Show Javadoc. Sie sehen, dass die Dokumentation zu instalieren echt eine sinnvolle Sache ist. Wir sehen also hier die Beschreibung dieser Methode, hier den Namen der Methode, dahinter die Parameter, die verlangt werden. In diesem Fall wäre es Double, aber wie gesagt gibt es auf alle anderen Datetypen, und zurückgeliefert wird ein String, wie wir hier sehen, und den müssen wir irgendwo aufnehmen. Ja, und das fangen wir jetzt auch direkt tun, das heißt, wir gehen hierhin, legen uns String davor, einen neuen String an, sagen, dieser String heißt meineZahl, und dann liegen wir jetzt das Ergebnis hinein. Um uns jetzt schnell noch anzuschauen, dass das wirklich ein String ist, wollen wir kurz eine Ausgabe generieren, nennen wir das Ganze "String-Zahl" und hängen da jetzt einfach mal meineZahl dran. Nun, gut! Jetzt werden wir noch nicht so unheimlich viel sehen, denn das gleiche Ergebnis hätten Sie auch gehabt, wenn Sie einfach die Zahl angehangen hätten, dann wäre es automatisch zum Tasting gekommen, und Sie hätten auch diese Ausgabe auf der Konsole gehabt. Dann können wir jetzt hingehen, da wir jetzt einen String hier haben, und hier einfach eine Umwandlung stattfinden lassen, das heißt, wir können jetzt zum Beispiel hingehen und meineZahl soweit nutzen, als dass diese jetzt String-Funktionalitäten hat. Daher nehme ich jetzt hier einfach meineZahl, hänge einen Punkt an und sehe jetzt hier schon alle Methoden, die jetzt ebenso einen String hat. Und was ich gerne machen möchte, ist, ich möchte gerne den Punkt gegen das Komma tauschen. Nun, das haben wir bereits gehabt, das heißt, ich schaue hier einfach mmal kurz durch, bis ich replace finde, uns sage jetzt einfach replace. Das kann ich eben, nun, mit Strings nicht mit Zahlen machen uns sage, ich möchte gerne den "." gegen das "," tauschen. Und zurück aus dieser ganzen Funktionalität kommt natürlich jetzt ein neuer String. Und diesen kann ich dann natürlich hier ausgeben lassen. Jetzt möchte ich aber eben nicht, dass wir in einen neuen String kopieren und dann noch einmal was machen, das wird dann im Ganzen doch schon relativ streßig für das Programm. Daher gehe ich jetzt einfach hin und hänge ich hier jetzt einfach noch was an, und zwar concat. und hänge jetzt hier zum Beispiel einfach mit Leerzeichen noch Euro hinten dran. Das sieht jetzt schon sehr massiv aus, diese ganze Geschichte, denn wir können also solche Methodenaufrufe einander hängen, und das Ganze hier nehme ich mir jetzt, schneide das aus, und statt meineZahl hier auszugeben, hänge ich das hier einfach hier hinein, das Semikolon muss jetzt hier weg. Sieht sehr wild aus, aber wenn wir Schreibhinweise aufbaut, es ist schon recht logisch, immer wenn wir das jetzt ausgeben lassen. Wuala, haben wir 47,11 Euro. Das sind also Dinge, die Sie mit Hilfe eines solchen Strings dann noch tun können. Lassen Sie sich einfach diesen Ausdruck mal auf der Zunge zergehen, denn es ist eigentlich ganz klar. Wir haben einen String, benutzen eine Methode, um diesen String hier zu bearbeiten. Das Ergebnis hier ist ein neuer String, und der bringt natürlich auch wieder seine Methode concat mit. Und dann bekommen wir eben diese behandelte Zahl, und das Ganze können wir dann ausgeben. Nun, gut! Soweit bis hierher. Im nächsten Schritt wollen wir eher den umgekehrten Weg gehen, Umwandeln von Strings in Zahlen. Dieses ist schon eine etwas kniffligere Geschichte. Und warum das so ist, möchte ich Ihnen gleich zeigen. Zuerst einmal brauchen wir einen String, nennen wir den nochmal zaehlenString, und dadrin liegt die 4711, komme es einfach mal so vier tausend sieben hundert elf, aber wie gesagt als String liegt das Ganze vor. Das wollen wir jetzt umwandeln in eine Zahl. Nun, wir legen uns erst einmal eine Variable an, in der die Zahl aufenommen werden soll. Das ist eine Integer Variable zahl, und benutzen wir jetzt dafür eine passende repack-Klasse und sagen, wir wollen, ja, hier einen Integer haben, also benutzen wir Integer, und auch die haben static-Methoden, die parse heißen, und hier eben zum Integer passend parseInt. Wir können hier einen String angeben, das heißt, ich wähle mir diese Methode nun aus und lege hier zaehlenString einfach hinein. Na, ja, und damit haben wir hier eine Zahl. Als Beweis hauen wir hier noch per Inkrementierung eins drauf und lassen das Ganze hier dann schön ausgeben. Und das Ergebnis ist 4712. Wir sehen also, wir können jetzt damit rechnen. Nun, ich habe eben gesagt, das ist eine knifflige Sache. Woran liegt das? Nun, ja, diese Umwandlung hier, die funktiniert wunderbar, solange ihre Benutzer und ihre Programe so nett sind, wie ich hier, wirklich da eine Zahl da reinschreiben. Jetzt kann aber da irgendjemand hingehen, und glauben Sie mir, irgendjemand wird das tun. Der macht so was. Ich liege hier einfach nochmal einen zahlenString an, aber diesmal schreibe ich dahinter noch kurz Bug als Name, und der möcht gerne die Zahl 4 haben. Nun, hmmm, probieren wir es, was dran rauskommt. int zahlBug = Integer., sind wir gut, glaube ich, parseInt, und legen jetzt hier zahlenStringBug hinein. Danach hauen wir auf zahlBug wieder rein drauf und lassen das Ganze, weil wir hier erst mal nehmen, dass es ganz geklappt hat, hier unten ausgeben. Wir bekommen eine etwas, ja, unschönige Fehlermeldung, und zwar nicht während des Kompalierens. Das Kompalieren hat problemlos geklappt. Wir bekommen eine Fehlermeldung während dem Ausführen des Programmes, und zwar eine sogenannte Exception. Wir sehen hier, die Exception als der Fehler, der geworfen wurde, ist eine java.lang.NumberFormatException. Das bedeutet, er kann das nicht umwandeln, was dort steht. Und das ist eben das Problem, dass es eben sein kann, dass diese Methode hier überhaupt nicht funktioniert. Und das müssen wir abfangen. Und dabei hilft uns natürlich das Exception-Handling von Java, das heißt, wir können gezielt auf aufregende Fehler zur Laufzeit eingehen und dann entsprechend diese Fehler abfangen. In diesem Fall hier haben wir noch kein Exception-Handling, und wir müssen uns leider darauf verlassen, dass die Leute wirklich nur sinnvolle Sachen eingeben. Wer das hier lösen möchte, der schaut sich dann die Filme über das Exception-Handling.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 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!