Java, wie kann man Literale erkennen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wieso? Weil's so im Code steht. Die 80 ist ein Literal, also der konkrete Wert ohne Verweis auf andere Elemente (Variablen/Konstanten).

fagussylvatica 
Fragesteller
 17.04.2023, 15:21

Achso 80 ist tatsächlich ein Literal der Variable speedLimit! Aber nicht jeder einer Variablen zugewiesene Wert ist ein Literal, oder?

0
DonkeyShot  17.04.2023, 15:26
@fagussylvatica
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.

1
fagussylvatica 
Fragesteller
 17.04.2023, 15:33
@DonkeyShot

Ok, aber wenn man einer Variable das Ergebnis der Summe aus zwei anderen Variablen zuweist, ist der Wert der Variable kein Literal, oder?

0
DonkeyShot  17.04.2023, 15:35
@fagussylvatica

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.

1

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.