W tym samouczku dowiesz się o zmiennych, jak je tworzyć i podstawowych typach danych, które Kotlin obsługuje do tworzenia zmiennych.
Jak wiesz, zmienna to miejsce w pamięci (obszar przechowywania) do przechowywania danych.
Aby wskazać obszar przechowywania, każdej zmiennej należy nadać niepowtarzalną nazwę (identyfikator). Dowiedz się więcej o tym, jak nazwać zmienną w Kotlinie?
Jak zadeklarować zmienną w Kotlinie?
Aby zadeklarować zmienną w Kotlinie, używane jest słowo kluczowe varlub val. Oto przykład:
var language = "francuski" val score = 95
Różnica w używaniu var i val została omówiona w dalszej części artykułu. Na razie skupmy się na deklaracji zmiennej.
Tutaj język jest zmienną typu Stringi scorejest zmienną typu Int. Nie musisz określać typu zmiennych; Kotlin pośrednio robi to za Ciebie. Kompilator wie o tym dzięki wyrażeniu inicjalizatora („francuski” to a String, a 95 to liczba całkowita w powyższym programie). Nazywa się to wnioskiem o typie w programowaniu.
Możesz jednak jawnie określić typ, jeśli chcesz:
var language: String = "francuski" val score: Int = 95
W powyższych przykładach zainicjowaliśmy zmienną podczas deklaracji. Jednak nie jest to konieczne. Możesz zadeklarować zmienną i określić jej typ w jednej instrukcji, a następnie zainicjować zmienną w innej instrukcji w dalszej części programu.
var język: String // deklaracja zmiennej typu String… język = "francuski" // inicjalizacja zmiennej val score: Int // deklaracja zmiennej typu Int… score = 95 // inicjalizacja zmiennej
Oto kilka przykładów, które prowadzą do błędu.
var language // Error language = "francuski"
W tym przypadku typ zmiennej językowej nie jest jawnie określony ani zmienna nie jest inicjowana podczas deklaracji.
var language: String language = 14 // Błąd
Tutaj próbujemy przypisać 14 (wartość całkowitą) zmiennej innego typu ( String).
Różnica między var i val
- val (Niezmienne odniesienie) - Zmienna zadeklarowana przy użyciu
valsłowa kluczowego nie może zostać zmieniona po przypisaniu wartości. Jest podobny do końcowej zmiennej w Javie. - var (Mutable reference) - Zmienna zadeklarowana za pomocą
varsłowa kluczowego może być zmieniona później w programie. Odpowiada zwykłej zmiennej Java.
Oto kilka przykładów:
var language = „francuski” language = „niemiecki”
Tutaj languagezmienna jest ponownie przypisywana do języka niemieckiego. Ponieważ zmienna jest zadeklarowana przy użyciu var, ten kod działa doskonale.
val language = „francuski” language = „niemiecki” // Błąd
Nie można ponownie przypisać zmiennej językowej do Germanw powyższym przykładzie, ponieważ zmienna jest zadeklarowana przy użyciu val.
Teraz wiesz, czym są zmienne Kotlin, czas nauczyć się różnych wartości, które może przyjmować zmienna Kotlin.
Podstawowe typy Kotlin
Kotlin jest językiem typowanym statycznie, takim jak Java. Oznacza to, że typ zmiennej jest znany w czasie kompilacji. Na przykład,
język val: Int val marks = 12.3
Tutaj kompilator wie, że język jest typu Int, a znaczniki są typu Doubleprzed kompilacją.
Typy wbudowane w Kotlinie można podzielić na:
- Liczby
- Postacie
- Booleans
- Tablice
Typ numeru
Liczby w Kotlin są podobne do Java. Istnieje 6 wbudowanych typów reprezentujących liczby.
- Bajt
- Krótki
- Int
- Długo
- Pływak
- Podwójnie
1. Bajt
- Typ
Bytedanych może mieć wartości od -128 do 127 (8-bitowa liczba całkowita uzupełniająca do dwóch ze znakiem). - Jest używany zamiast
Intlub innych typów danych całkowitych, aby oszczędzać pamięć, jeśli jest pewne, że wartość zmiennej będzie mieścić się w przedziale (-128, 127) - Przykład:
fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )
Po uruchomieniu programu wynik będzie następujący:
112
2. Krótkie
- Typ
Shortdanych może mieć wartości od -32768 do 32767 (16-bitowa liczba całkowita uzupełniająca do dwóch ze znakiem). - Jest używany zamiast innych typów danych całkowitoliczbowych do oszczędzania pamięci, jeśli jest pewne, że wartość zmiennej będzie mieścić się w przedziale (-32768, 32767).
- Przykład:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Po uruchomieniu programu wynik będzie następujący:
-11245
3. Int
- Typ
Intdanych może mieć wartości od do (32-bitowa liczba całkowita uzupełniająca do dwóch ze znakiem).-231231-1 - Przykład:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Po uruchomieniu programu wynik będzie następujący:
100000
Jeśli przypiszesz do zmiennej liczbę całkowitą z przedziału od do bez jawnego określenia jej typu, zmienna będzie typu. Na przykład,-231231-1Int
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
Longdata type can have values from-263to263-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
Doubletype 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
Floatdata 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
Booleandata type has two possible values, eithertrueorfalse. - 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
Tablica to kontener zawierający dane (wartości) jednego typu. Na przykład możesz utworzyć tablicę, która może zawierać 100 wartości Inttypu.
W Kotlinie tablice są reprezentowane przez Arrayklasę. Klasa ma geti setfunkcje, sizewłaściwość i kilka innych przydatnych funkcji składowych.
Aby dowiedzieć się więcej o tablicach, odwiedź: Kotlin Arrays
Struny Kotlin
W Kotlinie ciągi są reprezentowane przez Stringklasę. Literały łańcuchowe, takie jak „to jest ciąg znaków”, są zaimplementowane jako instancja tej klasy.
Aby dowiedzieć się więcej o strunach, odwiedź: Kotlin Strings
Zalecane lektury
- Konwersja typów w Kotlinie
- Sprytne rzuty w Kotlinie
- Kotlin dopuszcza wartości null








