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