0% acharam este documento útil (0 voto)
16 visualizações19 páginas

E-Book - Java para Kotlin

Este e-book da CodePrestige apresenta a migração do Java para o Kotlin, a nova linguagem oficial para desenvolvimento Android. Ele aborda a interoperabilidade entre Java e Kotlin, destacando comandos e funcionalidades como variáveis, funções, e estruturas de controle. O material é voltado para desenvolvedores que desejam aprender Kotlin de forma prática e eficiente.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações19 páginas

E-Book - Java para Kotlin

Este e-book da CodePrestige apresenta a migração do Java para o Kotlin, a nova linguagem oficial para desenvolvimento Android. Ele aborda a interoperabilidade entre Java e Kotlin, destacando comandos e funcionalidades como variáveis, funções, e estruturas de controle. O material é voltado para desenvolvedores que desejam aprender Kotlin de forma prática e eficiente.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 19

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.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy