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

Variáveis e Tipos Básicos em Kotlin

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

Como declarar variáveis em Kotlin?

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.

Diferenças entre var e val

  • 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.

Tipos básicos do Kotlin

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)

Tipos de números no Kotlin

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

1e o tipo Byte

  • 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

2e o tipo Short

  • 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

3e o tipo Int

  • 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.

4e o tipo Long

  • 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

5e o tipo Double

  • 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

6e o tipo Float

  • 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

Tipo de dados caractere (Char) do Kotlin

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

Tipo de dados Boolean (Boolean) do Kotlin

  •  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).

Array em Kotlin

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.

String em Kotlin

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.