Typkonvertierung
-
Hi Leute!
Hab folgenden Code:
double u = 20; double v = 33.33d; byte w = 100; char x = 'a'; float y = 20.5f; short z = 50; short shortValue = (short) (u / v) + z;Jetzt bekomm ich vom Compiler die Meldung, dass ich int nicht in short umwandeln kann. Aber wo kommt da jetzt ein int her?
lg enne
-
enne87 schrieb:
Jetzt bekomm ich vom Compiler die Meldung, dass ich int nicht in short umwandeln kann.
Das glaube ich nicht. Die integralen Typen können untereinander implizit konvertiert werden. Kannst du mal die wörtliche Fehlermeldung posten? Was für einen Compiler verwendest du?
Was soll eigentlich das "d"-Suffix?
double-Literale haben kein Suffix.
-
Ok, ich geb zu, ich verwende einen Java-Compiler, trotzdem denke ich, sollte das keinen Unterschied machen. In Java gibt es das d-Suffix für double - Variable.
Ok, ich habs grad mit einem C-Compiler probiert und das scheint hinzuhaun. Besser ich frag mal in einem java-Forum.
Danke für die Mühe

lg
-
enne87 schrieb:
Ok, ich geb zu, ich verwende einen Java-Compiler, trotzdem denke ich, sollte das keinen Unterschied machen. In Java gibt es das d-Suffix für double - Variable.
Ok, ich habs grad mit einem C-Compiler probiert und das scheint hinzuhaun. Besser ich frag mal in einem java-Forum.
Danke für die Mühe

lg

(ich benutze selten so viele so bunte Smileys hintereinander, aber dieser Post hat es echt verdient, weil mein Gesicht tatsächli in etwa diese Zustände durchgemacht hat..
)
-
enne87 schrieb:
Ok, ich geb zu, ich verwende einen Java-Compiler, trotzdem denke ich, sollte das keinen Unterschied machen. In Java gibt es das d-Suffix für double - Variable.
Keinen Unterschied?

Wie kommst du denn auf sowas?
-
Naja, da wird man ja nicht mehr fertig mit lernen, wenn da soviele Unterschiede sind

-
enne87 schrieb:
Naja, da wird man ja nicht mehr fertig mit lernen, wenn da soviele Unterschiede sind

Wenn dir Unterschiede wie Suffixe bei Literalen schon etwas ausmachen, will ich nicht wissen, wie du mit der Umstellung des grundlegenden Programmierkonzepts zurecht kommst...
C++ ist nicht Java mit ein wenig anderer Syntax, die Ansätze sind teilweise total verschieden. Das zeigt sich vor allem, wenn man sich in Richtung Objektorientierung und Templates bewegt. Von daher würde ich nicht zu einem "Umlernen", sondern eher zu einem "Neulernen" raten - klar, am Anfang gibt es noch einige Analogien, weil prozedurale Komponente wie If-Abfragen, Schleifen etc. eigentlich gleich funktionieren. Aber wenn es weiter geht, solltest du möglichst unvoreingenommen an die Sache herangehen und nicht versuchen, Konzepte aus Java 1:1 zu übertragen - denn das führt selten zu einem guten Ergebnis.
-
Ja stimmt, werd mir das genauer anschaun. Danke euch
