s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Fachkonzept - Variable

Werte unter einem Namen speichern

Eine Variable macht einen Wert unter einem Namen erreichbar. So kann er später wiederverwendet werden.

val erlaubt nach der ersten Zuweisung keine Neuzuweisung. var erlaubt es, der Variablen später einen anderen Wert zuzuweisen. Beide Formen haben einen festen Datentyp.

val maxGaeste = 30
var aktuelleGaeste = 12
aktuelleGaeste = 13
// maxGaeste = 40 wäre ein Fehler.

Ein mit val gespeicherter Wert wird häufig als Konstante bezeichnet. Bei einem Objekt bedeutet das jedoch nur, dass die Variable kein anderes Objekt erhalten darf. Veränderliche Attribute dieses Objekts können trotzdem geändert werden:

val karte = Karte("Herz", "Dame")
karte.rang = "Ass"                 // dieselbe Karte verändern
// karte = Karte("Pik", "7")       // Fehler: neue Zuweisung an val

Mit var karte wäre auch die Neuzuweisung erlaubt. Der zweite Konstruktoraufruf würde dann eine neue Karte erzeugen. Attributänderung und Neuzuweisung an eine Variable sind verschiedene Vorgänge.

val ist sinnvoll, wenn keine Neuzuweisung benötigt wird. var kommt zum Einsatz, wenn dieselbe Variable später einen anderen Wert speichern soll.

Datentyp und automatische Typableitung

Der Datentyp kann nach einem Doppelpunkt ausdrücklich angegeben werden:

val maxGaeste: Int = 30
val karte: Karte = Karte("Herz", "Dame")

Kotlin kann den Datentyp häufig aus dem zugewiesenen Wert ableiten. Bei val maxGaeste = 30 wird Int, bei val karte = Karte("Herz", "Dame") wird Karte abgeleitet. Diese automatische Typableitung heißt auch Type inference.

Der ausdrücklich angegebene oder abgeleitete Datentyp bleibt erhalten. Eine Int-Variable kann auch mit var später keinen String speichern.

Suche

v
100.123.1.6 Fachkonzept - Variable
Kopieren durch Anklicken

Rückmeldung geben