Hallo.
Warum kommt bei:
long n = (long) 3000000000;
eine Fehlermeldung?
Warum kommt bei:
long n = (long) 3000000000;
eine Fehlermeldung?
long n = 3000000000L;
Ah soo... Danke für die Schnelle Antwort. Ich habe noch eine frage warum funktioniert dannWieso schaust Du Dir die Fehlermeldung nicht einfach einmal an. Was besagt die?
"Integer to large" sollte da kommen - der Wert ist also für einen Integer zu groß.
Und dann ist das ja auch logisch: Du hast einen explizite cast zu einem long - die 3000000000 scheint also kein long zu sein. Laut Fehlermeldung ist es ein Integer. Welchen Wertebereich hat ein Integer in Java? Auf jeden Fall kleiner, denn das besagt ja die Fehlermeldung
Wenn Du ein Long haben willst, dann musst du da nicht casten (int auf long ist ein impliziter cast und müsste nicht angegeben werden).
Und ein long Literal zeichnet sich durch ein angehängtes L aus:
long n = 3000000000L;
Und warum wird dann er Max Wert von Int (2147483647) ausgegeben?Durch den Punkt wird es ein Double Literal, also eine Fließkomma-Zahl.
Weil das der größte positive Wert ist, den ein int speichern kann.Und warum wird dann er Max Wert von Int (2147483647) ausgegeben?