Fachkonzept - Variable
Speichern von Werten
Variablen geben Daten in Programmen einen Namen. Erst dadurch können Werte gespeichert, wiederverwendet oder verändert werden. Kotlin unterscheidet zwei Formen zur Speicherung von Daten: unveränderliche Konstanten und veränderliche Variablen. Sprachlich unterscheidet man im Alltag nicht immer ganz sauber zwischen beiden Begriffen und verwendet "Variable" oft als Oberbegriff. Wenn man den Unterschied klar machen möchte, kann man z.B. von "Konstanten" und "veränderlichen Variablen" sprechen.
Mit val deklarierst du eine Konstante.
Der Wert wird einmal festgelegt und kann danach nicht mehr geändert werden.
Mit var legst du eine Variable an,
deren Inhalt sich später ändern darf.
val maxGaeste = 30 // konstante Obergrenze (Int)
var aktuelleGaeste = 12 // veränderliche Zahl der Gäste (Int)
val programmTitel = "Roboterwerkstatt"
aktuelleGaeste = 13 // erlaubt, da aktuelleGaeste mit var deklariert wurde
// maxGaeste = 40 // Fehler: val-Wert darf nicht verändert werden
Verwende val immer dann, wenn sich ein Wert nach seiner
Festlegung nicht mehr ändern soll – beispielsweise
bei Konfigurationen oder Namen. Das macht Programme leichter zu verstehen und
verhindert unbeabsichtigte Änderungen.
var kommt zum Einsatz, wenn ein Zustand im Verlauf des
Programms angepasst werden muss (z.B. eine
Zählvariable, ein Kontostand oder die aktuelle Temperatur).
Der Datentyp kann ausdrücklich angegeben werden:
val maxGaeste: Int = 30
Meist kann Kotlin den Datentyp jedoch aus dem gespeicherten Wert ableiten.
Bei val maxGaeste = 30 wird Int, bei
val karte = Karte(...) der Datentyp Karte
abgeleitet. Das gilt sowohl für Attribute als auch für Variablen in
Methoden oder Hauptprogrammen. Diese automatische Typableitung nennt man
Type inference.
Der einmal ausdrücklich angegebene oder abgeleitete Datentyp bleibt
erhalten. Eine Variable vom Typ Int kann später nicht
plötzlich einen Text speichern – dafür müsstest du eine neue Variable mit
dem passenden Typ anlegen.