English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Variabili e tipi di base di Kotlin

In questo tutorial, imparerai cosa sono le variabili, come creare variabili e i tipi di dati di base supportati da Kotlin per la creazione di variabili.

Come sai, le variabili sono posizioni di memoria (regione di archiviazione) utilizzate per memorizzare dati.

Per indicare la regione di archiviazione, ogni variabile dovrebbe avere un nome univoco (identificatore). Scopri di più suCome dare un nome alle variabili in Kotlin?Più informazioni

Come dichiarare una variabile in Kotlin?

Per dichiarare una variabile in Kotlin, usa i keyword var o val. Ecco un esempio:

var language = "French"
val score = 95

Questa guida discuterà in seguito le differenze tra var e val. Ora, concentriamoci sulla dichiarazione delle variabili.

Qui, language è una variabile di tipo String, mentre score è una variabile di tipo Int. Non devi specificare il tipo della variabile; Kotlin lo assegnerà implicitamente. Il compilatore sa questo grazie all'espressione di inizializzazione (in questo programma, "French" è una stringa e 95 è un valore intero) e in programmazione questo si chiama Inferenza del tipo.

Ma se devi eseguire le seguenti operazioni, puoi specificare esplicitamente il tipo:

var language: String = "French"
val score: Int = 95

Nell'esempio precedente, abbiamo inizializzato le variabili durante il processo di dichiarazione. Tuttavia, questo non è obbligatorio. Puoi dichiarare una variabile e specificare il suo tipo in una singola istruzione, quindi inizializzarla in un'altra istruzione nel programma.

var language: String // Dichiarazione della variabile di tipo String
... .. ...
language = "French" // Inizializzazione della variabile
val score: Int // Dichiarazione della variabile di tipo Int
... .. ...
score = 95 // Inizializzazione della variabile

Ecco alcuni esempi di errori:

var language // Errore 
language = "French"

In questo caso, 'language' non ha specificato chiaramente il tipo della variabile né ha inizializzato la variabile durante la dichiarazione.

var language: String
language = 14 // Errore

In questo caso, proviamo a assegnare il valore 14 (valore intero) a una variabile di tipo diverso (String), e viene lanciato un errore.

La differenza tra var e val

  • val(referenza variabile immutabile) - Dopo l'assegnazione, non è possibile modificare le variabili dichiarate con val. È simile alle variabili final in Java.

  • var(referenza variabile mutabile) - Le variabili dichiarate con la chiave var possono essere modificate in seguito nel programma. Corrisponde alle variabili normali di Java.

Ecco alcuni esempi:

var language = "French"
language = "German"

In questo caso, la variabile 'language' viene assegnato il valore 'German'. Poiché la variabile è stata dichiarata con var, questo codice può funzionare perfettamente.

val language = "French"
language = "German" // Errore

Nell'esempio sopra, non puoi assegnare il valore 'German' alla variabile 'language' perché è stata dichiarata con val.

Ora che sai cos'è una variabile Kotlin, è il momento di imparare i diversi valori che una variabile Kotlin può assumere.

Tipi di base di Kotlin

Kotlin è un linguaggio di tipo statico simile a Java. Questo significa che i tipi delle variabili sono noti durante la compilazione. Ad esempio:

val language: Int
val marks = 12.3

In questo caso, il compilatore sa che il tipo di 'language' è Int e che 'marks' è di tipo Double prima della compilazione.

I tipi integrati in Kotlin possono essere classificati come:

  • Numeri (numeri)

  • Character (carattere)

  • Boolean (booleano)

  • Array (array)

Tipi numerici di Kotlin (Numbers)

I numeri in Kotlin sono simili a quelli in Java. Ci sono 6 tipi nativi per rappresentare i numeri.

  • Byte

  • Short

  • Int

  • Long

  • Float

  • Double

1、Byte 类型

  • Byte 数据类型的值范围从 -128 到 127(8位有符号二进制补码整数)。

  • se puoi determinare che il valore della variabile è tra [-128,127],puoi usarlo al posto di Int o altri tipi di dati interi per risparmiare memoria.

fun main(args: Array<String>) {
    val range: Byte = 112
    println("$range")
    // Il codice seguente mostra un errore. Perché?
    // val range1: Byte = 200
}

Quando si esegue il programma, l'output è:

112

2、Short 类型

  • Short 数据类型的值范围从 -32768 到 32767 (16位有符号二进制补码整数)。

  • se puoi determinare che il valore della variabile è tra [-32768,32767],puoi usarlo per risparmiare memoria rispetto ad altri tipi di dati interi.

fun main(args: Array<String>) {
    val temperature: Short = -11245
    println("$temperature")
}

Quando si esegue il programma, l'output è:

-11245

3、Int 类型

  • Int 数据类型的值范围从-231 a 231-1(32位带符号二进制补码整数)。

fun main(args: Array<String>) {
    val score: Int = 100000
    println("$score")
}

Quando si esegue il programma, l'output è:

100000

se assegni un valore a -231 a 231se assegnato un valore di -2

fun main(args: Array<String>) {
   // score è di tipo Int
    val score = 10
    println("$score")
}

se si utilizza IntelliJ IDEA,puoi posizionare il cursore all'interno della variabile e poi premere Ctrl + Shift + P per visualizzare il tipo.

4、Long 类型

  • Long数据类型值的范围从 -263 a 263-1(64位符号的二进制补码整数)。

fun main(args: Array<String>) {
    val highestScore: Long = 9999
    println("$highestScore")
}

Quando si esegue il programma, l'output è:

9999

se assegnato un valore maggiore di 231-1 o minore di -231 的整数值(未明确指定其类型),则该变量将为 Long 类型。例如,

val distance = 10000000000 // Long类型的变量distance

Allo stesso modo, puoi usare la lettera maiuscola L per specificare il tipo di variabile come Long. Ad esempio,

val distance = 100L  // Valore di distance di tipo Long

5. Tipo di dati Double

  • Il tipo di dati Double è un numero a doppia precisione di 64 bit.

fun main(args: Array<String>) {
    // distance è di tipo Double
    val distance = 999.5
    println("$distance")
}

Quando si esegue il programma, l'output è:

999.5

6. Tipo di dati Float

  • Il tipo di dati Float è un numero a singola precisione di 32 bit.

fun main(args: Array<String>) {
    // distance è di tipo Float
    val distance = 19.5F
    println("$distance")
}

Quando si esegue il programma, l'output è:

19.5

Nota che abbiamo usato 19.5F invece di 19.5. Questo perché 19.5 è un numero literals Double, quindi non puoi assegnare un valore Double al tipo di dati FloatVariabile.

Se vuoi che il compilatore consideri 19.5 come Float, devi usare la lettera F alla fine.

Se non sei sicuro di quale valore numerico assegnare alla variabile nel programma, puoi specificare il tipo Number. Questo ti permette di assegnare sia valori interi che valori a virgola mobile alla variabile (una volta per volta). Ad esempio:

fun main(args: Array<String>) {
    var test: Number = 12.2
    println("$test")
    test = 12
    // Il tipo di dati Number si converte automaticamente in Int
    println("$test")
    test = 120L
    // Il tipo di dati Number si converte automaticamente in Long
    println("$test")
}

Quando si esegue il programma, l'output è:

12.2
12
120

Tipo di dati Char (Char) in Kotlin

Per rappresentare i caratteri in Kotlin, viene utilizzato il tipo di dati Char.

A differenza di Java, il tipo di dati Char non può essere considerato un numero. Visita questa pagina per informazioni suTipo di dati char in JavaPiù informazioni.

fun main(args: Array<String>) {
    val letter: Char
    letter = 'k'
    println("$letter")
}

Quando si esegue il programma, l'output è:

k

In Java, puoi eseguire l'operazione seguente:

char letter = 65;

Ma il seguente codice genera un errore in Kotlin.

var letter: Char = 65  // Errore

Tipo di dati Boolean (Boolean) in Kotlin

  •  Il tipo di dati Boolean ha due valori possibili: true o false.

fun main(args: Array<String>) {
    val flag = true
    println("$flag")
}

I valori booleani vengono utilizzati per istruzioni decisionali (che verranno discussi nei capitoli successivi).

Array (Array) in Kotlin

Un array è un contenitore che contiene dati di un tipo (valori). Ad esempio, puoi creare un array che può contenere 100 valori di tipo Int.

In Kotlin, gli array sono rappresentati dalla classe Array. Questa classe ha funzioni get e set, l'attributo size e altri utili membri di funzione.

Stringhe (String) in Kotlin

In Kotlin, le stringhe sono rappresentate dalla classe String. Stringhe testuali come "this is a string" di questo tipo vengono implementate come istanze di questa classe.