Migrando do
para o
um e-book produzido por:
CodePrestige
Agradecimentos
Seja muito bem-vindo!
Com o anúncio da oficialização do Kotlin como a nova linguagem oficial para programação de
aplicativos na plataforma Android, os desenvolvedores precisam se preparar para começar a
trabalhar com esta linguagem. Como a linguagem tem uma interoperabilidade total com o código
Java, a curva de aprendizado é muito menor. Neste e-book, mostraremos como executar os principais
comandos do Java na linguagem da JetBrains.
Bons estudos e bons códigos!
Leia também o nosso artigo!!
Diego Martins de Pinho
Cofundador da Code Prestige http://bit.ly/do-java-para-kotlin
Introdução
O Google anunciou durante a conferência I/O 2017 que o Kotlin passará a ser uma linguagem oficial
da plataforma Android. Isso significa que logo desenvolvedores de todo o mundo poderão utilizar a
linguagem criada pela JetBrains para desenvolver aplicativos para o Android.
O Kotlin é uma linguagem JVM com interoperabilidade 100% de acordo com o Java, ou seja, pra
quem já conhece o Java, aprender Kotlin é fácil. Neste e-book trazemos as principais operações do
Java convertidas para o Kotlin.
Você sabia que...
O nome Kotlin é devido à ilha russa de mesmo
nome que fica próxima a São Petersburgo,
Vamos programar? onde se iniciou o projeto da nova linguagem
da JetBrains.
Veja o anúncio na conferência
http://bit.ly/2smsXfn
Sumário
● Definição de Pacotes ● Switch → Case
● A função print() ● Laços de iteração
● Variáveis com val e var ● Listas e Mapas
● Null Safety ● Getters e Setters
● Concatenação de Strings ● Funções
● Quebra de linha (\n)
● Instanceof e Casting
● Verificação entre valores
* Estas são somente algumas das funções que ficaram
mais fáceis no Kotlin. Fique ligado nos nossos e-books
para mais materiais sobre a linguagem!
Definição de Pacotes
Assim como no Java, o nome do pacote deve estar no topo do arquivo, entretanto, os pacotes não
precisam necessariamente ser iguais aos seus caminhos nos diretórios. Isso significa que é possível
alterar a organização dos arquivos sem quebrar os pacotes.
aplicacao/
br
package br.com.codeprestige.kotlin;
com
codeprestige
package br.com.exemplo.kotlin
kotlin
arquivo
CodePrestige - Ensino de programação à distância | 01
A função print()
Quando desejamos imprimir informações no console, utilizamos a funções System.out.print() e
System.out.println(). No Kotlin, não é necessário o explicitar o System.out:
System.out.print(“Hello World”); > Hello World
System.out.println(“Hello World”);
print(“Hello World”)
println(“Hello World”)
Console
Note que não é necessário o
uso de “;” (ponto e vírgula)
CodePrestige - Ensino de programação à distância | 02
Variáveis com val e var
A declaração de variáveis é feita por meio das palavras reservadas val e var. Utilizamos a primeira
quando queremos que a variável seja somente de leitura e a segunda para os demais casos.
String nome = "CodePrestige"; var nome = "CodePrestige"
final String nome = "CodePrestige"; val name = "CodePrestige"
CodePrestige - Ensino de programação à distância | 03
Null Safety
Uma das exceções mais comuns e perigosas no desenvolvimento Java é o NullPointerException. Para
evitá-lo, nossos códigos costumam ter várias verificações do tipo !=null. Em Kotlin, essa verificação
ficou mais fácil:
if(texto != null) { text?.let {
int tamanho = text.length(); val tamanho = text.length
} }
Mas caso você queira que a validação de valores text!!.let {
nulos seja obrigatória, basta utilizar a notação!! }
val tamanho = text.length
CodePrestige - Ensino de programação à distância | 04
Concatenação de Strings
Trabalhar com Strings ficou bem mais fácil e divertido com o Kotlin. A linguagem nos permite
interpolar as Strings, de forma que sua construção no código fica muito mais fácil, limpa e intuitiva.
String nome = “Code”; > Code Prestige
String sobrenome = “Prestige”;
String nomeCompleto = nome + sobrenome;
val nome = “Code”
val sobrenome = “Prestige”
val nomeCompleto = “$nome $sobrenome” Console
CodePrestige - Ensino de programação à distância | 05
Quebra de linha
Além de poder interpolar Strings, o Kotlin oferece a possibilidade de fazer as quebras de linhas
dentro da declaração da própria String, facilitando bastante a formatação do código dentro dos
editores.
String texto = “primeira linha\n” + > primeira linha
“segunda linha\n” + segunda linha
“terceira linha”; terceira linha
val texto = “““
|primeira linha
|segunda linha
|terceira linha
”””.trimMargin() Console
CodePrestige - Ensino de programação à distância | 06
Instance of e Casting
if(objeto instanceOf Ebook) {
No Java, para verificar se um objeto // algum código
é uma instância de uma classe, }
utilizamos o operador instanceOf.
if(objeto is Ebook) {
No Kotlin, este operador é o is. // algum código
}
Para o casting, o Kotlin não exige
Ebook ebook =
(Ebook) objeto;
nenhum comando especial (smart
var ebook = objeto as Ebook; casting), mas podemos fazer por
// ou garantia através do operador as.
var ebook = objeto;
CodePrestige - Ensino de programação à distância | 07
Verificação entre valores
Para verificar se um número está em um determinado conjunto de valores, podemos utilizar o
operador in. A sintaxe é bem simples:
if (valor >= 10 && valor <= 20) { if (valor in 10...20) {
// código // código
} }
CodePrestige - Ensino de programação à distância | 08
Switch → case
Uma das novidades mais bacanas é a nova estrutura do switch → case. Repare no exemplo a seguir
como o código consegue ficar enxuto e legível:
String res;
switch(pontos) {
case 10: var res = when(pontos)
case 9: res = “Excelente”; {
break; 9, 10 ->
case 8: “Excelente”
case 7: in 6..8 -> “Bom”
case 6: res= ”Bom”; break; 4, 5 -> “Ok”
case 5: in 1..3 -> “Ruim”
case 4: res=”Ok”;break; else -> “Ruim”
case 3: }
case 2:
case 1: res = “Ruim”; break;
default: res = “Ruim”;
}
CodePrestige - Ensino de programação à distância | 09
Laços de Iteração
O Kotlin oferece muitas opções ao convencional laço de repetição for controlado por uma variável de
índice.
for (int i = 1; i <= 10 ; i++) { }
for (i in 1..10) { }
for (int i = 1; i < 10 ; i++) { }
for (i in 1 until 10) { }
for (int i = 10; i >= 0 ; i--) { }
for (i in 10 downTo 0) { }
for (int i = 1; i <= 10 ; i+=2) { }
for (i in 1..10 step 2) { }
for (int i = 10; i >= 0 ; i-=2) { }
for (i in 10 downTo 1 step 2) { }
for (String item : collection) { }
for (item in collection) { }
for (Map.Entry<String, String> entry:
for ((key, value) in map) { }
map.entrySet()) { }
CodePrestige - Ensino de programação à distância | 10
Listas e Mapas
Agora conseguimos facilmente criar
listas já populadas com valores.
var numeros =
List<Integer> numeros =
listOf(1,2,3)
new ArrayList<Integer>();
numeros.add(1);
numeros.add(2);
numeros.add(3);
E mapas também!
Map<Integer,String> numeros = new var numeros= mapOf(
HashMap<Integer, String> numeros 1 to "um",
= new HashMap<Integer, String>(); 2 to "dois",
3 to "três"
numeros.put(1, "um"); )
numeros.put(2, "dois");
numeros.put(3, "três");
CodePrestige - Ensino de programação à distância | 11
Getters e Setters
No Kotlin, os getters e setters estão implícitos, ou seja, não é necessário descrevê-los:
class Ebook { data class
private String titulo; Developer(var name:
private String autor; String, var age: Int)
public String getTitulo() {
return this.titulo;
}
public void setString(titulo){
this.titulo = titulo;
}
// .... getters e setters
}
CodePrestige - Ensino de programação à distância | 12
Funções
O Kotlin também dá suporte ao varargs do Java e nos permite escrever a função em uma linha:
void doSomething() {
// código fun doSomething() {
} // código
}
void doSomething(int...
numbers) { fun doSomething(vararg
// logic here numbers: Int) {
} // código
}
int getScore() {
// código fun getScore(): Int = score
return score;
}
CodePrestige - Ensino de programação à distância | 13
Referências
● Site oficial do Kotlin - https://kotlinlang.org/
● Try Kotlin - https://try.kotlinlang.org/
● JetBrains - https://www.jetbrains.com/
● Google I/O 2017 - https://events.google.com/io/
● Migrando do Java para o Kotlin - http://bit.ly/do-java-para-kotlin
CodePrestige - Ensino de programação à distância | 14
Clique nos ícones e confira!
/CodePrestige Leia também!
Veja outros e-books, vídeos e cursos nas nossas redes sociais!
E-book produzido em 15/06/2017. © 2017 CodePrestige. Todos
os direitos reservados.