Variáveis ​​e tipos básicos de Kotlin

Neste tutorial, você aprenderá sobre variáveis, como criá-las e tipos de dados básicos que o Kotlin oferece suporte para a criação de variáveis.

Como você sabe, uma variável é um local na memória (área de armazenamento) para armazenar dados.

Para indicar a área de armazenamento, cada variável deve receber um nome único (identificador). Saiba mais sobre como nomear uma variável em Kotlin?

Como declarar uma variável em Kotlin?

Para declarar uma variável em Kotlin, varou a valpalavra-chave é usada. Aqui está um exemplo:

 var language = "francês" val score = 95

A diferença no uso de var e val é discutida posteriormente neste artigo. Por enquanto, vamos nos concentrar na declaração de variável.

Aqui, a linguagem é uma variável do tipo Stringe scoreé uma variável do tipo Int. Você não precisa especificar o tipo de variáveis; Kotlin implicitamente faz isso por você. O compilador sabe disso pela expressão do inicializador ("francês" é um Stringe 95 é um valor inteiro no programa acima). Isso é chamado de inferência de tipo em programação.

No entanto, você pode especificar explicitamente o tipo se quiser:

 var language: String = "Francês" pontuação val: Int = 95

Inicializamos a variável durante a declaração nos exemplos acima. No entanto, não é necessário. Você pode declarar a variável e especificar seu tipo em uma instrução e inicializar a variável em outra instrução posteriormente no programa.

 var language: String // declaração da variável do tipo String… language = "French" // inicialização da variável val score: Int // declaração da variável do tipo Int… score = 95 // inicialização da variável 

Aqui estão alguns exemplos que resultam em erro.

 var language // Erro de idioma = "Francês"

Aqui, o tipo de variável de idioma não é especificado explicitamente, nem a variável é inicializada durante a declaração.

 var language: String language = 14 // Erro

Aqui, estamos tentando atribuir 14 (valor inteiro) a uma variável de tipo diferente ( String).

Diferença entre var e val

  • val (referência imutável) - A variável declarada usando a valpalavra-chave não pode ser alterada depois que o valor é atribuído. É semelhante à variável final em Java.
  • var (referência mutável) - A variável declarada usando a varpalavra-chave pode ser alterada posteriormente no programa. Corresponde à variável Java regular.

Aqui estão alguns exemplos:

 var language = "francês" idioma = "alemão" 

Aqui, a languagevariável é reatribuída ao alemão. Visto que a variável é declarada usando var, este código funciona perfeitamente.

 val language = "French" language = "German" // Erro

Você não pode reatribuir a variável de idioma a Germanno exemplo acima porque a variável é declarada usando val.

Agora que você sabe o que são variáveis ​​Kotlin, é hora de aprender os diferentes valores que uma variável Kotlin pode assumir.

Tipos básicos de Kotlin

Kotlin é uma linguagem de tipagem estática como Java. Ou seja, o tipo de uma variável é conhecido durante o tempo de compilação. Por exemplo,

 linguagem val: Int val marcas = 12,3

Aqui, o compilador sabe que a linguagem é do tipo Inte as marcas são do tipo Doubleantes do tempo de compilação.

Os tipos integrados no Kotlin podem ser categorizados como:

  • Números
  • Personagens
  • Booleanos
  • Arrays

Tipo de número

Os números em Kotlin são semelhantes a Java. Existem 6 tipos integrados que representam números.

  • Byte
  • Curto
  • Int
  • Longo
  • Flutuador
  • em dobro

1. Byte

  • O Bytetipo de dados pode ter valores de -128 a 127 (número inteiro de complemento de dois com sinal de 8 bits).
  • É usado em vez de Intou outros tipos de dados inteiros para economizar memória se for certo que o valor de uma variável estará entre (-128, 127)
  • Exemplo:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

Quando você executa o programa, a saída será:

 112

2. Curto

  • O Shorttipo de dados pode ter valores de -32768 a 32767 (inteiro complementar de dois com sinal de 16 bits).
  • É usado no lugar de outros tipos de dados inteiros para economizar memória se for certo que o valor da variável estará dentro de (-32768, 32767).
  • Exemplo:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

Quando você executa o programa, a saída será:

 -11245

3. Int

  • O Inttipo de dados pode ter valores de a (inteiro complementar de dois com sinal de 32 bits).-231231-1
  • Exemplo:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

Quando você executa o programa, a saída será:

 100000

Se você atribuir um inteiro entre a a uma variável sem especificar explicitamente seu tipo, a variável será do tipo. Por exemplo,-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

Uma matriz é um contêiner que contém dados (valores) de um único tipo. Por exemplo, você pode criar uma matriz que pode conter 100 valores de Inttipo.

No Kotlin, os arrays são representados pela Arrayclasse. A classe tem gete setfunções, sizepropriedade e algumas outras funções-membro úteis.

Para saber mais detalhes sobre arrays, visite: Kotlin Arrays

Kotlin Strings

No Kotlin, as strings são representadas pela Stringclasse. Os literais de string como "esta é uma string" são implementados como uma instância dessa classe.

Para saber mais detalhes sobre strings, vist: Strings Kotlin

Leituras Recomendadas

  • Conversão de tipo em Kotlin
  • Smart casts em Kotlin
  • Tipos anuláveis ​​de Kotlin

Artigos interessantes...