Java, wie kann man Literale erkennen?
Wieso ist "80" hier der zugewiesene Wert der Variablen "speedLimit" und woher weiß ich, dass es kein Literal ist?
2 Antworten
Wieso? Weil's so im Code steht. Die 80 ist ein Literal, also der konkrete Wert ohne Verweis auf andere Elemente (Variablen/Konstanten).
80 ist tatsächlich ein Literal der Variable speedLimit
Die 80 für sich ist einfach ein Literal. Es ist kein "Literal einer Variablen". Die Formulierung kann man so nicht machen. Wenn du schreibst "int speedlimit = 2 * 50; " hast du zwei Literale in der Zeile stehen, nämlich die 2 und die 50. Literale sind Elemente im Source Code, so wie "speedLimit" ein Variablenname ist.
Ok, aber wenn man einer Variable das Ergebnis der Summe aus zwei anderen Variablen zuweist, ist der Wert der Variable kein Literal, oder?
Richtig. Der Wert kann kein Literal sein. Schon deswegen nicht, weil er nicht im Source-Code steht. Literale stehen im Source-Code. Der Wert existiert hingegen erst, wenn das Programm mal läuft.
Ein Literal (aus dem Englischen "Literally", also "Wortwörtlich") steht nun mal konstant und wörtlich da. speedLimit ist kein Literal mehr, weil dieses in der Variable steht. Sowas nennt man auch magic string oder magic number.
Achso 80 ist tatsächlich ein Literal der Variable speedLimit! Aber nicht jeder einer Variablen zugewiesene Wert ist ein Literal, oder?