Zmienne Kotlin i typy podstawowe

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 Long data type can have values from -263 to 263-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, either true or false.
  • 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

Interesujące artykuły...