In diesem Tutorial erfahren Sie mehr über Variablen, deren Erstellung und grundlegende Datentypen, die Kotlin zum Erstellen von Variablen unterstützt.
Wie Sie wissen, ist eine Variable ein Speicherort (Speicherbereich) für Daten.
Um den Speicherbereich anzugeben, sollte jeder Variablen ein eindeutiger Name (Bezeichner) zugewiesen werden. Weitere Informationen zum Benennen einer Variablen in Kotlin
Wie deklariere ich eine Variable in Kotlin?
Um eine Variable in Kotlin zu deklarieren, wird entweder var
oder das val
Schlüsselwort verwendet. Hier ist ein Beispiel:
var language = "Französisch" val score = 95
Der Unterschied bei der Verwendung von var und val wird später in diesem Artikel erläutert. Konzentrieren wir uns zunächst auf die Variablendeklaration.
Hier ist Sprache eine Variable vom Typ String
und score
eine Variable vom Typ Int
. Sie müssen den Variablentyp nicht angeben. Kotlin erledigt das implizit für Sie. Der Compiler kennt dies durch den Initialisiererausdruck ("Französisch" ist ein String
und 95 ist ein ganzzahliger Wert im obigen Programm). Dies wird in der Programmierung als Typinferenz bezeichnet.
Sie können den Typ jedoch explizit angeben, wenn Sie:
var language: String = "French" val score: Int = 95
Wir haben die Variable während der Deklaration in den obigen Beispielen initialisiert. Dies ist jedoch nicht erforderlich. Sie können die Variable deklarieren und ihren Typ in einer Anweisung angeben und die Variable später im Programm in einer anderen Anweisung initialisieren.
var language: String // Variablendeklaration vom Typ String… language = "French" // Variableninitialisierung val score: Int // Variablendeklaration vom Typ Int… score = 95 // Variableninitialisierung
Hier sind einige Beispiele, die zu Fehlern führen.
var language // Fehlersprache = "Französisch"
Hier wird der Typ der Sprachvariablen weder explizit angegeben noch während der Deklaration initialisiert.
var language: String language = 14 // Fehler
Hier versuchen wir, Variablen unterschiedlichen Typs ( String
) 14 (ganzzahliger Wert) zuzuweisen .
Unterschied zwischen var und val
- val (unveränderliche Referenz) - Die mit dem
val
Schlüsselwort deklarierte Variable kann nicht geändert werden, sobald der Wert zugewiesen wurde. Es ähnelt der endgültigen Variablen in Java. - var (veränderbare Referenz) - Die mit dem
var
Schlüsselwort deklarierte Variable kann später im Programm geändert werden. Es entspricht einer regulären Java-Variablen.
Hier einige Beispiele:
var language = "Französisch" language = "Deutsch"
Hier wird die language
Variable dem Deutschen zugewiesen. Da die Variable mit deklariert wird var
, funktioniert dieser Code einwandfrei.
val language = "Französisch" language = "Deutsch" // Fehler
Sie können die Sprachvariable German
im obigen Beispiel nicht neu zuweisen, da die Variable mit deklariert ist val
.
Jetzt wissen Sie, was Kotlin-Variablen sind. Es ist Zeit, verschiedene Werte zu lernen, die eine Kotlin-Variable annehmen kann.
Kotlin Grundtypen
Kotlin ist eine statisch typisierte Sprache wie Java. Das heißt, der Typ einer Variablen ist während der Kompilierungszeit bekannt. Beispielsweise,
val Sprache: Int val Marken = 12.3
Hier weiß der Compiler, dass die Sprache vom Typ Int
ist und die Markierungen Double
vor der Kompilierungszeit vom Typ sind .
Die in Kotlin integrierten Typen können wie folgt kategorisiert werden:
- Zahlen
- Zeichen
- Boolesche Werte
- Arrays
Nummerntyp
Zahlen in Kotlin ähneln Java. Es gibt 6 integrierte Typen, die Zahlen darstellen.
- Byte
- Kurz
- Int
- Lange
- Schweben
- Doppelt
1. Byte
- Der
Byte
Datentyp kann Werte von -128 bis 127 haben (8-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen). - Es wird anstelle von
Int
oder anderen ganzzahligen Datentypen verwendet, um Speicherplatz zu sparen, wenn sicher ist, dass der Wert einer Variablen innerhalb von (-128, 127) liegt. - Beispiel:
fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
112
2. Kurz
- Der
Short
Datentyp kann Werte von -32768 bis 32767 haben (16-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen). - Es wird anstelle anderer ganzzahliger Datentypen verwendet, um Speicherplatz zu sparen, wenn sicher ist, dass der Wert der Variablen innerhalb von (-32768, 32767) liegt.
- Beispiel:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
-11245
3. Int
- Der
Int
Datentyp kann Werte von bis (32-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen) haben.-231
231-1
- Beispiel:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
100000
Wenn Sie eine ganze Zahl zwischen zuweisen zu einer Variablen , ohne seinen Typ explizit anzugeben, wird die Variable sein Typ. Beispielsweise,-231
231-1
Int
fun main(args : Array) ( // score is of type Int val score = 10 println("$score") )
If you are using IntelliJ IDEA, you can place cursor inside the variable and press Ctrl + Shift + P
to see its type.
4. Long
- The
Long
data type can have values from-263
to263-1
(64-bit signed two's complement integer). - Example:
fun main(args : Array) ( val highestScore: Long = 9999 println("$highestScore") )
When you run the program, the output will be:
9999
If you assign an integer value greater than 231-1
or less than -231
to a variable (without explicitly specifying its type), the variable will be of Long
type. For example,
val distance = 10000000000 // distance variable of type Long
Similarly, you can use capital letter L to specify that the variable is of type Long
. For example,
val distance = 100L // distance value of type Long
5. Double
- The
Double
type is a double-precision 64-bit floating point. - Example:
fun main(args : Array) ( // distance is of type Double val distance = 999.5 println("$distance") )
When you run the program, the output will be:
999.5
Float
- The
Float
data type is a single-precision 32-bit floating point. Learn more about single precision and double precision floating point if you are interested. - Example:
fun main(args : Array) ( // distance is of type Float val distance = 19.5F println("$distance") )
When you run the program, the output will be:
19.5
Notice that, we have used 19.5F
instead of 19.5
in the above program. It is because 19.5
is a Double
literal, and you cannot assign Double
value to a variable of type Float
.
To tell compiler to treat 19.5
as Float
, you need to use F at the end.
If you are not sure what number value a variable will be assigned in the program, you can specify it as Number
type. This allows you to assign both integer and floating-point value to the variable (one at a time). For example:
fun main(args : Array) ( var test: Number = 12.2 println("$test") test = 12 // Int smart cast from Number println("$test") test = 120L // Long smart cast from Number println("$test") )
When you run the program, the output will be:
12.2 12 120
To learn more, visit: Kotlin smart casts
Char
To represent a character in Kotlin, Char types are used.
Unlike Java, Char types cannot be treated as numbers. Visit this page to learn more about Java char Type.
fun main(args : Array) ( val letter: Char letter = 'k' println("$letter") )
When you run the program, the output will be:
k
In Java, you can do something like:
char letter = 65;
However, the following code gives error in Kotlin.
var letter: Char = 65 // Error
Boolean
- The
Boolean
data type has two possible values, eithertrue
orfalse
. - Example:
fun main(args : Array) ( val flag = true println("$flag") )
Booleans are used in decision making statements (will be discussed in later chapter).
Kotlin Arrays
Ein Array ist ein Container, der Daten (Werte) eines einzelnen Typs enthält. Sie können beispielsweise ein Array erstellen, das 100 Typwerte enthalten kann Int
.
In Kotlin werden Arrays durch die Array
Klasse dargestellt. Die Klasse verfügt über get
und set
Funktionen, size
Eigenschaften und einige andere nützliche Elementfunktionen.
Weitere Informationen zu Arrays finden Sie unter: Kotlin Arrays
Kotlin Saiten
In Kotlin werden Zeichenfolgen durch die String
Klasse dargestellt. Die Zeichenfolgenliterale wie "Dies ist eine Zeichenfolge" werden als Instanz dieser Klasse implementiert.
Um mehr über Saiten zu erfahren, besuchen Sie: Kotlin Strings
Empfohlene Lektüre
- Typkonvertierung in Kotlin
- Smart Casts in Kotlin
- Nullbare Kotlin-Typen