Variáveis e Tipos de Dados

Variáveis e Tipos de Dados

Observação: O arquivo utilizado neste conteúdo que fala sobre variáveis é o 2-variaveis.kt, já o arquivo que trata sobre os tipos de dados é o 3-tiposDeDados.kt.

Neste conteúdo você irá aprender um pouco mais sobre o uso de variáveis, e os principais tipos de dados que podem ser usados.

Introdução a Variáveis

No mundo da programação nós temos variáveis, pensem nelas como caixinhas (ou containers) que servem para armazenar um dado, que pode ser desde:

  • Um número;
  • Um Texto;
  • Um valor booleano;
  • Uma lista de dados;
  • Um valor nulo;
  • Um valor indefinido;
  • E muitas outras coisas que veremos mais tarde (como funções, classes...);

Elas são muito úteis para armazenar um dado, para que futuramente façamos o uso dele.

Imagina uma variável como uma caixinha, onde fora dessa caixinha exista um rótulo que nos dá uma ideia do conteúdo que é (ou será) armazenado ali:

Na ilustração acima, nós temos uma variável rotulada como "nome", que por sua vez armazena o texto (string) "Micilini Roll".

Beleza, tudo muito fácil até agora, não é mesmo?

Mas como será que eu represento isso no Kotlin?

Criando variáveis no Kotlin

No Kotlin existem dois tipos de variáveis, aquelas que aceitam ter seus valores alterados, e aquelas que não aceitam.

Falando sobre as variáveis do tipo var, que são aquelas que aceitam ter seus valores alterados posteriormente, nos podemos declara-las da seguinte forma:

var nome = "Micilini"//Criamos uma variável do tipo STRING.

var sobrenome: String = "Roll"//Criamos uma variável do tipo STRING de forma explícita.

//variáveis não podem ter o nome de palavras reservadas.

print(nome)//Mostrando o conteúdo da variável

Primeiro você digita a palavra "var" dizendo ao computador que quer criar uma variável do tipo "var", seguido do nome dessa variável (no exemplo acima, nomeei essa variável de "nome", pois ela representa um nome), seguido do operador de atribuição igual (=), e por fim, o valor que ela vai armazenar, que no caso foi o texto "Micilini".

Também podemos declarar uma variável informando seu tipo de dado, bastando apenas escrever o tipo de dado entre o operador de atribuição igual (=) e o nome da variável (nome).

Como as variáveis do tipo var aceitam mudanças de valor, podemos alterar seu valor posteriormente:

var nome = "Micilini"

nome = "Roll"

nome = "Littus"

println(nome)//O valor impresso será "Littus"

Observação: Variáveis não podem ter o nome de palavras reservadas da linguagem kotlin, como é o caso de tentar criar uma variável cujo nome é fun (que é uma variável reservada do proprio sistema para declaração de funções):

var fun = "Olá Mundo"

Falando sobre variáveis do tipo val, são variáveis que não podem ter seus tipos alterados:

val telefone = "123456789"

val telefoneDois: String = "98987987987"

//telefone = "99999999"//Isso aqui não funciona, pois não podemos altera-las.

//telefoneDois = "98999999"//Isso aqui também não funciona.

println(telefone)

Primeiro você digita a palavra "val" dizendo ao computador que quer criar uma variável do tipo "val", seguido do nome dessa variável (no exemplo acima, nomeei essa variável de "telefone", pois ela representa um telefone), seguido do operador de atribuição igual (=), e por fim, o valor que ela vai armazenar, que no caso foi o texto "123456789".

Também podemos declarar uma variável informando seu tipo de dado, bastando apenas escrever o tipo de dado entre o operador de atribuição igual (=) e o nome da variável (telefone).

Imprimindo variáveis junto as mensagens do console

Em conteúdos anteriores, vimos a utilização do print() e do println() para imprimir mensagens no console.

Agora que já sabemos como as variáveis funcionam, observe, algumas formas de imprimir o conteúdo de uma variável:

var meuNome = "Micilini Roll"

println("Olá, meu nome é: " + meuNome)//Por meio da concatenação

println("Olá, meu nome é: $meuNome")//Por meio do sifrão

println("Olá, meu nome é: ${meuNome}")//Por meio do sifrão com chaves (usado geralmente quando temos mais de uma intenção)

Tipo de Dados

Na linguagem Kotlin nós trabalhamos com muitos tipos de dados diferentes, existem tipos que representam valores numéricos, tipos que representam textos, tipos que representam conjuntos e listas, e entre vários outros que vamos ver nesse conteúdo.

Vejamos abaixo a lista dos dados primitivos que o Kotlin suporta:

  • Char (? Byte)
  • String (? Bit)
  • Boolean (? Bit)
  • Int (32 Bit)
  • Double (64 Bit)
  • Float (32 Bit)
  • Long (64 Bit)
  • Short (16 Bit)
  • Byte (8 Bit)

Vejamos abaixo como é feita a declaração de cada um dos tipos de dados:

var charVariavel: Char = 'a'//Char é aspas simples e deve armazenar um único caracter
var stringVariavel: String = "uashdiuash aiushdiuahsd iuahsdiuhasd"//O tamanho é alocado diretamente pelo compilador JVM
var booleanVariavel: Boolean = true//Só aceita dois valores, true ou false

var doubleVariavel: Double = 10.0//Não podemos passar valores inteiros, somente números quebrados
var floarVariavel: Float = 10.0f//Precisamos colocar o f para dizer que é float
var longVariavel: Long = 10L//Precisamos informar o L, e aqui é inteiro
var intVariavel: Int = 10//Tipo inteiro
var shortVariavel: Short = 10//Tipo Short
var byteVariavel: Byte = 10//Tipo Byte

Lembrando que no Kotlin não precisamos especificar o tipo de dado, bastando apenas declara-los normalmente:

var charVariavel = 'a'//Char é aspas simples e deve armazenar um único caracter
var stringVariavel = "uashdiuash aiushdiuahsd iuahsdiuhasd"//O tamanho é alocado diretamente pelo compilador JVM
var booleanVariavel = true//Só aceita dois valores, true ou false

var doubleVariavel = 10.0//Não podemos passar valores inteiros, somente números quebrados
var floarVariavel = 10.0f//Precisamos colocar o f para dizer que é float
var longVariavel: Long = 10L//Precisamos informar o L, e aqui é inteiro
var intVariavel = 10//Tipo inteiro
var shortVariavel = 10//Tipo Short
var byteVariavel = 10//Tipo Byte

Analisando a quantidade de Bit que cada tipo de dado armazena

Com o Kotlin podemos usar atributos disponibilizados por cada tipo de dado por meio dos atributos MAX_VALUE e MIN_VALUE:

println("Double Max ${Double.MAX_VALUE} - MIN ${Double.MIN_VALUE}")
println("Float Max ${Float.MAX_VALUE} - MIN ${Float.MIN_VALUE}")
println("Long Max ${Long.MAX_VALUE} - MIN ${Long.MIN_VALUE}")
println("Int Max ${Int.MAX_VALUE} - MIN ${Int.MIN_VALUE}")
println("Short Max ${Short.MAX_VALUE} - MIN ${Short.MIN_VALUE}")
println("Byte Max ${Byte.MAX_VALUE} - MIN ${Byte.MIN_VALUE}")

Variáveis não podem mudar seu tipo

Uma vez definido um tipo de dado a uma variável, não conseguimos muda-lo mesmo a variável sendo do tipo var:

var nome = "Micilini"//Declaração da variável nome (STRING)

//nome = true//Não é possível definir um outro tipo que não seja STRING

//nome = 124//Não é possível definir um outro tipo que não seja STRING

nome = "Roll"//Funciona pois é do mesmo tipo

Variáveis não instânciadas

No Kotlin podemos declarar variáveis não instanciadas, desde que declaremos seu tipo:

//Podemos declarar variáveis não instanciadas
var nome: String//Mas só conseguimos fazer isso especificando um tipo. (Ou você define um tipo ou atribui um valor a ela)

No caso desses tipos de variáveis, não conseguimos usa-las até atribuirmos um valor a ela.

Conclusão

Neste conteúdo você aprendeu um pouco sobre declarações de variáveis e tipos de dados com Kotlin.

Até o próximo conteúdo 😄