Você está na página 1de 335

Introdução à Programação para Dispositivos Móveis

Aula 05 Prof. Diemesleno Souza Carvalho


diemesleno@iftm.edu.br
http://www.diemesleno.com.br
Na aula passada vimos...
Na aula passada vimos...

Ambiente de desenvolvimento.
Nesta aula veremos...
Nesta aula veremos...
• Linguagem Kotlin.
Linguagem Kotlin
Linguagem Kotlin
Conhecendo a linguagem
Linguagem Kotlin
Conhecendo a linguagem

https://kotlinlang.org
Linguagem Kotlin
Conhecendo a linguagem

Kotlin é uma linguagem de programação que compila para a


Máquina Virtual Java e que também pode ser traduzida para
JavaScript e compilada para código nativo.

É desenvolvida pela empresa JetBrains e seu nome é baseado na


ilha de Kotlin onde se situa a cidade russa de Kronstadt.

Apesar da sintaxe de Kotlin diferir da de Java, Kotlin é projetada


para ter uma interoperabilidade total com código Java.

Foi considerada pelo público a 2ª linguagem “mais amada”, de


acordo com uma pesquisa conduzida pelo site Stack Overflow em
2018.
Linguagem Kotlin
Conhecendo a linguagem
Linguagem Kotlin
Conhecendo a linguagem
Linguagem Kotlin
Conhecendo a linguagem
Linguagem Kotlin
Conhecendo a linguagem
Linguagem Kotlin
Empresas que utilizam Kotlin
Linguagem Kotlin
Empresas que utilizam Kotlin
Linguagem
Primeiro programa
Linguagem
Primeiro programa

Abra o InteliJ.
Linguagem
Primeiro programa

Crie um novo projeto Kotlin/JVM.


Linguagem
Primeiro programa

O nome do projeto
IPDM.

Veja onde o projeto


será salvo.

Veja se o SDK está


configurado
corretamente.
Linguagem
Primeiro programa

Ao carregar pela
primeira vez, a IDE
irá mostrar uma caixa
de dicas.

Podemos desmarcar
a opção para que
não seja apresentada
nas próximas vezes.
Linguagem
Primeiro programa

Ao carregar pela
primeira vez, a IDE
irá mostrar uma caixa
de dicas.

Podemos desmarcar
A opcão para que
não seja apresentada
nas próximas vezes.
Linguagem
Primeiro programa Crie um pacote chamado “fundamentos”

Ao carregar pela
primeira vez, a IDE
irá mostrar uma caixa
de dicas.

Podemos desmarcar
A opcão para que
não seja apresentada
nas próximas vezes.
Linguagem
Primeiro programa Crie uma classe Kotlin chamada “PrimeiroPrograma”

Ao carregar pela
primeira vez, a IDE
irá mostrar uma caixa
de dicas.

Podemos desmarcar
A opcão para que
não seja apresentada
nas próximas vezes.
Linguagem
Primeiro programa

Ao carregar pela
primeira vez, a IDE
irá mostrar uma caixa
de dicas.

Podemos desmarcar
A opcão para que
não seja apresentada
nas próximas vezes.
Linguagem
Primeiro programa

Crie um novo projeto.

OBS: Veja que os blocos de código são delimitados por chaves “{}”
e as sentenças de código podem terminar ou não com ponto e
vírgula. “;”.
Linguagem
Primeiro programa

Rode o programa no menu Run ou ALT + SHIFT + F10.


Linguagem
Comentários em Kotlin
Linguagem
Comentários em Kotlin

É importante que um código seja bem documentado. Uma das


formas mais comuns de documentação é o comentário dos códigos.

Crie um novo programa chamado Comentarios.


Linguagem
Comentários em Kotlin
Linguagem
Variáveis e Constantes
Linguagem
Variáveis e Constantes

Existem duas palavras reservadas para declarar variáveis:


val – referência imutável (constante)


var – referência mutável (variável)
Linguagem
Variáveis (var)
Linguagem
Variáveis (var)

Kotlin é uma linguagem fortemente tipada, mas é possível não


especificar o tipo quando uma atribuição for feita na inicialização.

Neste cenário, dizemos que o tipo foi inferido.

Crie o programa Var1


Linguagem
Variáveis (var)
Linguagem
Cuidado com as inferências
Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia1


Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia1


Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia1

O código acima gera o erro: This variable must either have a type
annotation or be initialized.
Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia2


Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia2


Linguagem
Cuidado com as inferências

Crie o programa CuidadoInferencia2

O código acima gera o erro: The floating-point literal does not


conform to the expected type Int.
Linguagem
Constantes (val)
Linguagem
Constantes (val)

Crie o programa Const


Linguagem
Constantes (val)

Crie o programa Const


Linguagem
Constantes (val)

Crie o programa Const

O código acima gera um erro: Val cannot be reassigned.


Linguagem
Constantes Java
Linguagem
Constantes Java

Crie o programa ConstJava


Linguagem
Constantes Java

Crie o programa ConstJava


Linguagem
Constantes Java

Crie o programa ConstJava

Veja que mesmo sem fazer nenhum import podemos simplesmente


chamar e utilizar constantes da linguagem Java.
Linguagem
Tipos Básicos
Linguagem
Tipos Básicos - Numéricos

OBS: Tudo em Kotlin é Objeto, inclusive os tipos básicos.


Linguagem
Tipos Básicos

Crie o programa TiposBasico


Linguagem
Tipos Básicos
Linguagem
Básico sobre função
Linguagem
Básico sobre função

Basicamente temos 4 tipos de funções:

Função com parâmetros e com retorno.


Linguagem
Básico sobre função

Basicamente temos 4 tipos de funções:

Função sem parâmetros e com retorno.


Linguagem
Básico sobre função

Basicamente temos 4 tipos de funções:

Função com parâmetros e sem retorno.


Linguagem
Básico sobre função

Basicamente temos 4 tipos de funções:

Função sem parâmetros e sem retorno.


Linguagem
Básico sobre função

Crie o programa FuncaoSemRetorno


Linguagem
Básico sobre função

Crie o programa FuncaoSemRetorno


Linguagem
Básico sobre função

Crie o programa FuncaoComRetorno


Linguagem
Básico sobre função

Crie o programa FuncaoComRetorno


Linguagem
Template Strings
Linguagem
Template Strings

Crie o programa TemplateString1


Linguagem
Template Strings

Crie o programa TemplateString1


Linguagem
Template Strings

Crie o programa TemplateString2


Linguagem
Template Strings

Crie o programa TemplateString2


Linguagem
Notação Ponto
Linguagem
Notação Ponto

Crie o programa NotacaoPonto


Linguagem
Notação Ponto

Crie o programa NotacaoPonto


Linguagem
Null Safety
Linguagem
Null Safety

Operador Chamada Segura (Safe Call Operator)

Crie o programa ChamadaSegura


Linguagem
Null Safety

Operador Chamada Segura (Safe Call Operator)

Crie o programa ChamadaSegura


Linguagem
Operador Elvis
Linguagem
Operador Elvis

Crie o programa OperadorElvis

OBS: Este operador tem esse nome porque o seu símbolo parece
com o emoticon que representa o cantor Elvis Presley ?:j
Linguagem
Forçando NullPointerException
Linguagem
Forçando NullPointerException

Crie o programa ForcandoNullPointer


Linguagem
Forçando NullPointerException

Crie o programa ForcandoNullPointer

O código acima gera o erro: Exception in thread “main”


KotlinNullPointerException

a!!.inc() // se existe valor, execute


Linguagem
Import
Linguagem
Import

Dentro do pacote fundamentos, crie o pacoteA com o arquivo


Mistura
Linguagem
Import

Dentro do pacote fundamentos, crie o pacoteA com o arquivo


Mistura
Linguagem
Import

Dentro do pacote fundamentos, crie o pacoteB com o arquivo


Matematica
Linguagem
Import

Dentro do pacote fundamentos, crie o pacoteB com o arquivo


Matematica
Linguagem
Import

Dentro do pacote fundamentos, crie o programa TesteImport


Linguagem
Import

Dentro do pacote fundamentos, crie o programa TesteImport


Linguagem
Listagem de pacotes importados por padrão:
Linguagem
Listagem de pacotes importados por padrão:
Linguagem
Estruturas de Controle
Linguagem
Estruturas de Controle

Dentro do pacote fundamentos, crie o pacote controles e o


programa If
Linguagem
Estruturas de Controle

Dentro do pacote fundamentos, crie o pacote controles e o


programa If
Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElse


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElse


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElse2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElse2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElseIf


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElseIf


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa IfElseIf

OBS: Ao invés de usar ifs em cascata, melhor utilizar when


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa RefatorandoWhen


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa RefatorandoWhen


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa RefatorandoWhen

OBS: Só funciona porque a nota é inteiro. Se colocar um valor


Double dá erro. Como corrigir?
Linguagem
Estruturas de Controle

O programa RefatorandoWhen refatorado


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa While1


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa While1


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa While2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa While2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For1


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For1

Iterando sobre um intervalo fixo


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For2

Iterando sobre um intervalo fixo (Decrescente)


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For3


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For3

Iterando sobre um intervalo fixo (Com passo)


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For4


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa For4

Iterando com acesso ao índice


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa DoWhile


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa DoWhile


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Break1


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Break1


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Break2


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Break2

Break com label – indica em qual loop deve ocorrer o break.


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Continue


Linguagem
Estruturas de Controle

Dentro do pacote controles crie o programa Continue


Linguagem
Operadores
Linguagem
Operadores

Na linguagem Kotlin, temos operadores unários, binários mas não


temos operadores ternários.
Linguagem
Operadores Binários - Atribuição
Linguagem
Operadores Binários - Atribuição

No pacote fundamentos, crie o pacote operadores e dentro deste o


programa Atribuicao
Linguagem
Operadores Binários - Atribuição

No pacote fundamentos, crie o pacote operadores e dentro deste o


programa Atribuicao
Linguagem
Operadores Binários - Atribuição

No pacote operadores crie o programa Destructuring


Linguagem
Operadores Binários - Atribuição

No pacote operadores crie o programa Destructuring


Linguagem
Operadores Binários - Aritméticos
Linguagem
Operadores Binários - Aritméticos

No pacote operadores crie o programa Aritmeticos


Linguagem
Operadores Binários - Aritméticos

No pacote operadores crie o programa Aritmeticos


Linguagem
Operadores Binários - Relacionais
Linguagem
Operadores Binários - Relacionais

No pacote operadores crie o programa Relacionais


Linguagem
Operadores Binários - Relacionais

No pacote operadores crie o programa Relacionais


Linguagem
Operadores Binários - Lógicos
Linguagem
Operadores Binários – Lógicos

Tabela verdade
Linguagem
Operadores Binários - Lógicos

No pacote operadores crie o programa Logicos


Linguagem
Operadores Binários - Lógicos

No pacote operadores crie o programa Logicos


Linguagem
Operadores Unários
Linguagem
Operadores Unários

No pacote operadores crie o programa Unarios


Linguagem
Operadores Unários

No pacote operadores crie o programa Unarios


Linguagem
Operadores Ternários
Linguagem
Operadores Ternários

Não existe operador ternário em Kotlin, mas...crie o programa


Ternario1
Linguagem
Operadores Ternários

Não existe operador ternário em Kotlin, mas...crie o programa


Ternario1
Linguagem
Operadores Ternários

Crie o programa Ternario2


Linguagem
Operadores Ternários

Crie o programa Ternario2


Linguagem
Conversão
Linguagem
Conversão

No pacote fundamentos, crie o programa ConvNumString


Linguagem
Conversão

No pacote fundamentos, crie o programa ConvNumString


Linguagem
Conversões (Cast)
Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa ChecagemDeTipo


Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa ChecagemDeTipo


Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa SmartCast


Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa SmartCast


Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa OperadorCast


Linguagem
Conversões (Cast)

No pacote fundamentos, crie o programa OperadorCast


Linguagem
Funções
Linguagem
Funções – Funções estáticas top-level
Linguagem
Funções – Funções estáticas top-level

No pacote fundamentos, crie um pacote funcao e dentro deste o


programa TopLevel
Linguagem
Funções – Funções estáticas top-level

No pacote fundamentos, crie um pacote funcao e dentro deste o


programa TopLevel
Linguagem
Funções – Funções estáticas top-level

No pacote fundamentos, crie um pacote funcao e dentro deste o


programa TopLevel

É importante lembrar que o código em Kotlin é compilado para Byte Code (quando executado na JVM) e
como o Java é totalmente centrado em classe, não suporta este conceito de função top-level. A forma de
compatibilizar isso é converter uma função top-level para uma função estática de uma classe.
Linguagem
Funções – Funções estáticas top-level

No pacote funcao crie programa TopLevelRefactor


Linguagem
Funções – Funções estáticas top-level

No pacote funcao crie programa TopLevelRefactor

Desta forma o byte code gerado será compatível com Java.


Linguagem
Funções – Argumentos Nomeados
Linguagem
Funções – Argumentos Nomeados

No pacote funcao crie programa ArgsNomeados


Linguagem
Funções – Argumentos Nomeados

No pacote funcao crie programa ArgsNomeados


Linguagem
Funções – Parâmetros são Imutáveis
Linguagem
Funções – Parâmetros são Imutáveis

No pacote funcao crie programa ParamImutaveis


Linguagem
Funções – Parâmetros são Imutáveis

No pacote funcao crie programa ParamImutaveis


Linguagem
Funções – Parâmetros são Imutáveis

No pacote funcao crie programa ParamImutaveis

O código acima gera o erro: Val cannot be reassigned


Linguagem
Funções – Parâmetro Padrão
Linguagem
Funções – Parâmetro Padrão

No pacote funcao crie programa ParamPadrao


Linguagem
Funções – Parâmetro Padrão

No pacote funcao crie programa ParamPadrao


Linguagem
Funções – Múltiplos Retornos com Destructing
Linguagem
Funções – Múltiplos Retornos com Destructing

No pacote funcao crie programa MultiplosRetornos


Linguagem
Funções – Múltiplos Retornos com Destructing

No pacote funcao crie programa MultiplosRetornos


Linguagem
Funções – Adidionando Métodos em Classes Existentes
Linguagem
Funções – Adidionando Métodos em Classes Existentes

No pacote funcao crie programa SegundoElemento


Linguagem
Funções – Adidionando Métodos em Classes Existentes

No pacote funcao crie programa SegundoElemento


Linguagem
Funções – Chamando Função em Java
Linguagem
Funções – Chamando Função Kotlin em Java

No pacote funçao crie uma Java Class chamada


ChamandoFun
Linguagem
Funções – Chamando Função Kotlin em Java

No pacote funçao crie uma Java Class chamada


ChamandoFun
Linguagem
Funções – Chamando Função Kotlin em Java

No pacote funçao crie uma Java Class chamada


ChamandoFun

Repare que nosso programa kotlin chama SegundoElemento.kt mas foi chamado aqui no Java
como SegundoElementoKt
Linguagem
Funções – Argumentos Variáveis (varargs)
Linguagem
Funções – Argumentos Variáveis (varargs)

No pacote funçao crie o programa chamado VarArgs


Linguagem
Funções – Argumentos Variáveis (varargs)

No pacote funçao crie o programa chamado VarArgs


Linguagem
Funções – Infix
Linguagem
Funções – Infix

No pacote funçao crie o programa chamado FuncaoInfix


Linguagem
Funções – Infix

No pacote funçao crie o programa chamado FuncaoInfix


Linguagem
Funções sempre retornam um valor
Linguagem
Funções sempre retornam um valor

Todas as funções ao lado


são equivalentes.
Linguagem
Passando função como parâmetro
Linguagem
Passando função como parâmetro

No pacote funcao, crie o programa FuncComoParam1


Linguagem
Passando função como parâmetro

No pacote funcao, crie o programa FuncComoParam1


Linguagem
Passando função como parâmetro

No pacote funcao, crie o programa FuncComoParam2


Linguagem
Passando função como parâmetro

No pacote funcao, crie o programa FuncComoParam2


Linguagem
Inline Function
Linguagem
Inline Function

No pacote funcao, crie o programa Inline1


Linguagem
Inline Function

No pacote funcao, crie o programa Inline1


Linguagem
Inline Function

No pacote funcao, crie o programa Inline2


Linguagem
Inline Function

No pacote funcao, crie o programa Inline2


Linguagem
Classes e Objetos
Linguagem
Classes e Objetos
Linguagem
Classes e Objetos

* (Na transformação do byte code)


Linguagem
Classes e Objetos
Linguagem
Classes e Objetos

No pacote fundamentos, crie o pacote classes, e dentro deste crie o


programa ClasseBasica1
Linguagem
Classes e Objetos

No pacote fundamentos, crie o pacote classes, e dentro deste crie o


programa ClasseBasica1
Linguagem
Classes e Objetos

No pacote classes crie o programa ClasseBasica2


Linguagem
Classes e Objetos

No pacote classes crie o programa ClasseBasica2


Linguagem
Membros
Linguagem
Membros

No pacote classes crie o programa Membros1


Linguagem
Membros

No pacote classes crie o programa Membros1


Linguagem
Membros

No pacote classes crie o programa Membros2


Linguagem
Membros

No pacote classes crie o programa Membros2


Linguagem
Tipos de Variáveis/Constantes
Linguagem
Tipos de Variáveis/Constantes

No pacote classes crie o programa TiposVariaveis


Linguagem
Tipos de Variáveis/Constantes

No pacote classes crie o programa TiposVariaveis


Linguagem
Data Classe
Linguagem
Data Classe

No pacote classes crie o programa ClassVsDataClass


Linguagem
Data Classe

No pacote classes crie o programa ClassVsDataClass


Linguagem
Construtor
Linguagem
Construtor

No pacote classes crie o programa Construtor1


Linguagem
Construtor

No pacote classes crie o programa Construtor1


Linguagem
Construtor

No pacote classes crie o programa Construtor2


Linguagem
Construtor

No pacote classes crie o programa Construtor2


Linguagem
Bloco Init
Linguagem
Bloco Init

No pacote classes crie o programa BlocoInit


Linguagem
Bloco Init

No pacote classes crie o programa BlocoInit


Linguagem
Getters & Setters
Linguagem
Getters & Setters

A Kotlin define por padrão os getters e setters. Ou seja, não precisamos


implementar.

Mas podemos fazer isso caso precisemos realizar alguma operação com
os valores durante o set ou get.
Linguagem
Getters & Setters

No pacote classes crie o programa GettersSetters


Linguagem
Getters & Setters

No pacote classes crie o programa GettersSetters


Linguagem
Getters & Setters

No pacote classes crie o programa GettersCalculados


Linguagem
Getters & Setters

No pacote classes crie o programa GettersCalculados


Linguagem
Membros de Classe vs Instância
Linguagem
Membros de Classe vs Instância

No pacote classes crie o programa MembrosClasseVsInstancia


Linguagem
Membros de Classe vs Instância

No pacote classes crie o programa MembrosClasseVsInstancia


Linguagem
Passagem por Referência
Linguagem
Passagem por Referência

No pacote classes crie o programa PassagemReferencia


Linguagem
Passagem por Referência

No pacote classes crie o programa PassagemReferencia


Linguagem
Passagem por Referência

No pacote classes crie o programa Ref


Linguagem
Passagem por Referência

No pacote classes crie o programa Ref


Linguagem
Enum
Linguagem
Enum

No pacote classes crie o programa Enum1


Linguagem
Enum

No pacote classes crie o programa Enum1


Linguagem
Enum

No pacote classes crie o programa Enum2


Linguagem
Enum

No pacote classes crie o programa Enum2


Linguagem
Lambdas
Linguagem
Lambdas

Lambdas são funções anônimas que podem ser usadas ou


passadas por referência para outras funções.

O uso de lambdas abrem possibilidades gigantes dentro do código.

Kotlin já possui vários lambdas integradas na linguagem, mas


podemos criar nossos próprios lambdas.
Linguagem
Lambdas

Dentro do pacote fundamentos, crie um novo pacote chamado


lambdas e dentro deste um programa chamado Lambda1
Linguagem
Lambdas

Dentro do pacote fundamentos, crie um novo pacote chamado


lambdas e dentro deste um programa chamado Lambda1
Linguagem
Lambdas Encontradas na API
Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda2


Linguagem
Lambdas Encontradas na API - sortedBy

Dentro do pacote lambdas crie um programa chamado Lambda2


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda3


Linguagem
Lambdas Encontradas na API - filter

Dentro do pacote lambdas crie um programa chamado Lambda3


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda4


Linguagem
Lambdas Encontradas na API - map

Dentro do pacote lambdas crie um programa chamado Lambda4


Linguagem
Lambdas Encontradas na API - map

Dentro do pacote lambdas crie um programa chamado Lambda5


Linguagem
Lambdas Encontradas na API - map

Dentro do pacote lambdas crie um programa chamado Lambda5


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda6


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda6


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda7


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda7


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda8


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda8


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda9


Linguagem
Lambdas Encontradas na API

Dentro do pacote lambdas crie um programa chamado Lambda9


Linguagem
Arrays e Colections
Linguagem
Arrays e Colections

Dentro do pacote fundamentos, crie um pacote chamado collections


e dentro deste crie um programa chamado Arrays
Linguagem
Arrays e Colections

Dentro do pacote fundamentos, crie um pacote chamado collections


e dentro deste crie um programa chamado Arrays
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListStrings
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListStrings
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListInt
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListInt
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListMix
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListMix
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListUniao
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListUniao
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListObj
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado


ArrayListObj
Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado ForEach1


Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado ForEach1


Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado ForEach2


Linguagem
Arrays e Colections

Dentro do pacote collections crie um programa chamado ForEach2


Linguagem
Matriz
Linguagem
Matriz

Na prática, matriz é um array de arrays, então podemos visualizar


melhor na imagem abaixo:
Linguagem
Matriz

No pacote collections, crie o programa Matriz


Linguagem
Matriz

No pacote collections, crie o programa Matriz


Linguagem
Set
Linguagem
Set

Dentro do pacote collections crie um programa chamado


ConjuntoBaguncado
Linguagem
Set

Dentro do pacote collections crie um programa chamado


ConjuntoBaguncado
Linguagem
Set

Dentro do pacote collections crie um programa chamado


ConjuntoComportado
Linguagem
Set

Dentro do pacote collections crie um programa chamado


ConjuntoComportado
Linguagem
HashMap
Linguagem
HashMap

Dentro do pacote collections crie um programa chamado Map1


Linguagem
HashMap

Dentro do pacote collections crie um programa chamado Map1


Linguagem
HashMap

Dentro do pacote collections crie um programa chamado Map2


Linguagem
HashMap

Dentro do pacote collections crie um programa chamado Map2


Linguagem
Hashcode e Equals
Linguagem
Hashcode e Equals

Dentro do pacote collections crie um programa chamado


HashcodeEquals
Linguagem
Hashcode e Equals

Dentro do pacote collections crie um programa chamado


HashcodeEquals
Linguagem
Orientação a Objetos
Linguagem
Orientação a Objetos - Encapsulamento

Dentro do pacote fundamentos crie um pacote chamado oo e


dentro deste um arquivo chamado Encapsulamento
Linguagem
Orientação a Objetos - Encapsulamento

Dentro do pacote fundamentos crie um pacote chamado oo e


dentro deste um arquivo chamado Encapsulamento
Linguagem
Orientação a Objetos - Herança
Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma classe chamada Carro


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma classe chamada Carro


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma interface chamada Esportivo


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma interface chamada Esportivo


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma classe chamada Ferrari


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie uma classe chamada Ferrari


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie um programa chamado Teste


Linguagem
Orientação a Objetos - Herança

Dentro do pacote oo crie um programa chamado Teste


Linguagem
Orientação a Objetos – this() e super()
Linguagem
Orientação a Objetos – this() e super()

Dentro do pacote oo crie um programa chamado Heranca2


Linguagem
Orientação a Objetos – this() e super()

Dentro do pacote oo crie um programa chamado Heranca2


Linguagem
Orientação a Objetos – Polimorfismo
Linguagem
Orientação a Objetos – Polimorfismo

Dentro do pacote oo crie uma classe chamada SemPoli


Linguagem
Orientação a Objetos – Polimorfismo

Dentro do pacote oo crie uma classe chamada SemPoli


Linguagem
Orientação a Objetos – Polimorfismo

Dentro do pacote oo crie uma classe chamada ComPoli


Linguagem
Orientação a Objetos – Polimorfismo

Dentro do pacote oo crie uma classe chamada ComPoli


Linguagem
Avançado
Linguagem
Avançado - Recursividade
Linguagem
Avançado - Recursividade

Dentro do pacote fundamentos crie um pacote chamado avancado


e dentro deste crie um programa chamado Recursao
Linguagem
Avançado - Recursividade

Dentro do pacote fundamentos crie um pacote chamado avancado


e dentro deste crie um programa chamado Recursao
Linguagem
Avançado - Genéricos

Dentro do pacote avancado crie um programa chamado Genericos


Linguagem
Avançado - Genéricos

Dentro do pacote avancado crie um programa chamado Genericos


Linguagem
Avançado – Sobrecarga de Operadores
Linguagem
Avançado – Sobrecarga de Operadores

Dentro do pacote avancado crie um programa chamado SobreOpe


Linguagem
Avançado – Sobrecarga de Operadores

Dentro do pacote avancado crie um programa chamado SobreOpe


Linguagem
Avançado – Anotação e Reflexão
Linguagem
Avançado – Anotação e Reflexão

Dentro do pacote avancado crie um programa chamado AnnoRef


Linguagem
Avançado – Anotação e Reflexão

Dentro do pacote avancado crie um programa chamado AnnoRef


Introdução à Programação para Dispositivos Móveis
Aula 05 Prof. Diemesleno Souza Carvalho
diemesleno@iftm.edu.br
http://www.diemesleno.com.br