Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo
unzwar komme ich bei dem Typcast nicht wirklich weiter. Wie Typcaste ich?
setze ich das einfach gleich?
Irgendwie versteh ich die Erklärungen im Internet nicht wirklich.
Und bei Methoden hab ich eine frage.
Unzwar sollte ich eine Aufgabe machen, in dem ich ein Array programmiere und das dann ausgeben. Inwiefern kann ich da einen zusammenhang zu Methoden schließen? (Also das war die Frage in der Aufgabe.
Zum Typecasten kannst du ganz einfach gleich setzen, ja.
Du kannst das zum einen implizit machen und zum anderen explizit. Implizit geht immer dann, wenn du von einem "niedrigeren" in einen "höheren" Datentypen umwandeln möchtest.
Zum Beispiel also wenn du einen "int" hast und diesen nun als "float" verwenden möchtest.
Als Beispiel eine Umwandlung von "int" zu "float" zu "double".
Code:
int zahl = 2;
float erstewandlung = zahl;
double zweitewandlung = erstewandlung;
Du brauchst also kein weiteres "Hilfsmittel" zur Umwandlung.
Solltest du in die andere Richtung wandeln wollen, sprich von einem höher wertigen Datentyp zu einem niedriger wertigen Datentyp, dann musst du das explizit machen, da der niedrigere Datentyp den Wert einfach darstellen kann. Hierfür genau das gleiche Beispiel nur rückwärts. Wir haben ein "double" und wollen dies als "float" verwenden. Danach möchten wir das als "int" haben:
Code:
int zahl3;
double zahl = 1.23456; //unsere double
float zahl2 = (float) zahl; //hier brauchen wir das (float) zum expliziten Casten
zahl3 = (int) zahl2; //hier könnte auch '(int) zahl' stehen, das Ergebnis wäre dasselbe
Du siehst, zum expliziten Casten wird der Datentyp den die "neue" Variable haben soll in Klammern vor den zu castenden Wert gestellt.
Explizites Casten ist generell möglich, implizit nur von "unten nach oben".
(Das ganze geht natürlich auch ohne den Wert einer neuen Variablen zuzuweisen:
Als Beispiel eine simple Rechnung, die eine ganze Zahl ergeben soll
unzwar komme ich bei dem Typcast nicht wirklich weiter. Wie Typcaste ich?
setze ich das einfach gleich?
Irgendwie versteh ich die Erklärungen im Internet nicht wirklich.
Hast du ein konkrete Beispiel was du nicht verstehts?
Praktisch wäre auch eine dieser Erklärungen hier zu posten (mit Quelle) und konkret zu sagen was dir dabei unklar ist.
Sonst wiederholen wir nur sachen die dir unklar sind
Und bei Methoden hab ich eine frage.
Unzwar sollte ich eine Aufgabe machen, in dem ich ein Array programmiere und das dann ausgeben. Inwiefern kann ich da einen zusammenhang zu Methoden schließen? (Also das war die Frage in der Aufgabe.
ja unzwar sollte ich in einer aufgabe die ASCII werte für das ABC ausgeben also für A =6..
eben diese Tabelle und da hat bei mir das typcasting nicht funktioniert
und ich konnte auch nicht sagen wie es geht, da man es ja einfach glrich setzt
Hierfür kannst du es genauso machen wie im Beispiel oben, nur halt benutzt du keine (zB) "double" die du in einen "int" umwandeln möchtest, sondern einen "char" den du zB in ein "int", "short", etc. umwandeln möchtest.
Der Einfachheit halber ist das was wir haben wollen (die ASCII Zahl des Buchstaben) ein Integer (also eine stinknormale Zahl).
Das was wir haben ist der Buchstabe (char).
Benutzt du das Schema von oben sieht es so aus:
WasIchHabenWill = (Datentyp_von_WasIchHabenWill) WasIchHabe
wobei "WasIchHabenWill" ja unsere "zahl" vom Typ Integer ist
der Datentyp_von_WasIchHabenWIll ist eben dies, ein Integer
und WasIchHabe ist dein Buchstabe (sei es A) - den schreibst du durch 'A'