English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá sobre variáveis, como criar variáveis e os tipos de dados básicos que o Kotlin suporta para a criação de variáveis.
Como você sabe, as variáveis são locais (área de armazenamento) usados para armazenar dados.
Para indicar o área de armazenamento, cada variável deve ter um nome (identificador) único. Saiba mais sobreComo nomear variáveis em Kotlin?Mais informações
Para declarar uma variável em Kotlin, use as palavras-chave var ou val. Este é um exemplo:
var language = "French" val score = 95
Este artigo discutirá a diferença entre o uso de var e val em breve. Agora, vamos nos concentrar na declaração de variáveis.
Aqui, language é uma variável do tipo String, score é uma variável do tipo Int. Você não precisa especificar o tipo da variável; o Kotlin o especificará implicitamente para você. O compilador faz isso através da expressão de inicialização (no programa acima, "French" é uma string, enquanto95Sabemos que é um valor inteiro) Isso é chamado de Infereção de tipoVariável
No entanto, se você precisar executar a seguinte operação, você pode especificar explicitamente o tipo:
var language: String = "French" val score: Int = 95
No exemplo acima, inicializamos a variável durante a declaração. No entanto, isso não é necessário. Você pode declarar a variável e especificar seu tipo em uma sentença, e inicializá-la em outra sentença no programa.
var language: String //Declaração de variável do tipo String ... .. ... language = "French" //Inicialização da variável val score: Int //Declaração de variável do tipo Int ... .. ... score = 95 //Inicialização da variável
A seguir, alguns exemplos errados.
var language // Erro language = "French"
Aqui, o tipo da variável language não é especificado explicitamente, e a variável não é inicializada durante a declaração.
var language: String language = 14 // Erro
Aqui, tentamos atribuir14(Atribuição de valor inteiro) Atribuição de um valor inteiro a uma variável de tipo diferente (String) também lançará um erro.
val(Referência imutável)- Após a atribuição, não é possível alterar a variável declarada com a palavra-chave val. Ela é semelhante à variável final no Java.
var(Referência mutável)- As variáveis declaradas com a palavra-chave var podem ser alteradas posteriormente no programa. Ela corresponde à variável convencional do Java.
A seguir, alguns exemplos:
var language = "French" language = "German"
Aqui, a variável language é redistribuída com o valor German. Devido ao uso da declaração var, o código pode rodar perfeitamente.
val language = "French" language = "German" // Erro
No exemplo acima, você não pode reatribuir o valor German ao variável language porque ele foi declarado com val.
Agora que você sabe o que é uma variável no Kotlin, é hora de aprender os diferentes valores que uma variável no Kotlin pode adotar.
O Kotlin é uma linguagem de tipo estático semelhante ao Java. Isso significa que, durante a compilação, o tipo da variável é conhecido. Por exemplo,
val language: Int val marks = 12.3
Aqui, o compilador sabe que o tipo de language é Int e que os marks são do tipo Double antes da compilação.
Os tipos internos no Kotlin podem ser classificados em:
Números (números)
Characters (caracteres)
Booleans (booleans)
Arrays (matrizes)
Os números no Kotlin são semelhantes ao Java. Há6esses tipos de dados internos representam números.
Byte
Short
Int
Long
Float
Double
O intervalo do tipo de dados Byte é de -128 até 127(8inteiro de complemento de dois de sinal bit).
Se puder determinar que o valor da variável está entre [-128,127dentro deste intervalo, você pode usá-lo em vez de Int ou outros tipos de dados inteiros para economizar memória.
fun main(args: Array<String>) { val range: Byte = 112 println("$range") // O código abaixo mostra um erro. Por que? // val range1: Byte = 200 }
Quando você executar o programa, a saída será:
112
O intervalo do tipo de dados Short é de -32768 até 32767 (16inteiro de complemento de dois de sinal bit).
Se puder determinar que o valor da variável está entre [-32768,32767dentro deste intervalo, você pode usá-lo em vez de outros tipos de dados inteiros para economizar memória.
fun main(args: Array<String>) { val temperature: Short = -11245 println("$temperature") }
Quando você executar o programa, a saída será:
-11245
O intervalo do tipo de dados Int é de-231 até 231-1(32inteiro de complemento de dois de sinal bit).
fun main(args: Array<String>) { val score: Int = 100000 println("$score") }
Quando você executar o programa, a saída será:
100000
Se você atribuir uma variável -231 até 231-1se entre os inteiros e não especificar explicitamente seu tipo, a variável será do tipo Int. Por exemplo,
fun main(args: Array<String>) { // score é do tipo Int val score = 10 println("$score") }
Se estiver usando o IntelliJ IDEA, você pode posicionar o cursor dentro da variável e então pressionar Ctrl + Shift + P para ver seu tipo.
O intervalo do tipo de dados Long é de -263 até 263-1(64Símbolo binário complemento de dois do inteiro).
fun main(args: Array<String>) { val highestScore: Long = 9999 println("$highestScore") }
Quando você executar o programa, a saída será:
9999
Se você atribuir um valor maior231-1 ou menor -231 do valor inteiro (não especificado explicitamente seu tipo), o variável será do tipo Long. Por exemplo:
val distance = 10000000000 // Variável do tipo Long distance
Da mesma forma, você pode usar a letra maiúscula L para especificar o tipo da variável como Long. Por exemplo:
val distance = 100L // O valor distance é do tipo Long
O tipo Double é de precisão dupla64Ponto flutuante.
fun main(args: Array<String>) { // distance é do tipo Double val distance = 999.5 println("$distance") }
Quando você executar o programa, a saída será:
999.5
O tipo de dados Float é de precisão simples32Ponto flutuante.
fun main(args: Array<String>) { // distance é do tipo Float val distance = 19.5F println("$distance") }
Quando você executar o programa, a saída será:
19.5
Observe que usamos 19.5em vez de 19.5F 19.5 . Isso é porqueé um literal Double, então você não pode atribuir valores Double ao tipo FloatVariável
. 19.5 Se você quiser que o compilador
Se você não tiver certeza do valor numérico que será atribuído ao variável no programa, você pode especificá-lo como tipo Number. Isso permite que você atribua valores inteiros e valores de ponto flutuante a variáveis (um por vez). Por exemplo:
fun main(args: Array<String>) { var test: Number = 12.2 println("$test") test = 12 // Conversão inteligente de Number para Int println("$test") test = 120L // Conversão inteligente de Number para Long println("$test") }
Quando você executar o programa, a saída será:
12.2 12 120
Para representar caracteres no Kotlin, usamos o tipo Char.
Diferente do Java, o tipo Char não pode ser tratado como número. Acesse esta página para saber mais sobreTipo de dados char do JavaMais informações.
fun main(args: Array<String>) { val letter: Char letter = 'k' println("$letter") }
Quando você executar o programa, a saída será:
k
No Java, você pode fazer o seguinte:
char letter = 65;
No entanto, o seguinte código gera um erro no Kotlin.
var letter: Char = 65 // Erro
O tipo de dados Boolean tem dois valores possíveis: true ou false.
fun main(args: Array<String>) { val flag = true println("$flag") }
Valores booleanos são usados em sentenças de decisão (discutido em capítulos posteriores).
Um array é um contêiner que contém dados de um tipo específico (valores). Por exemplo, você pode criar um que possa conter10Array de 0 valores do tipo Int.
Em Kotlin, os arrays são representados pela classe Array. Esta classe possui funções get e set, a propriedade size e outros membros úteis.
Em Kotlin, as strings são representadas pela classe String. Strings literais como "this is a string" são implementadas como instâncias deste tipo.