SlideShare uma empresa Scribd logo
JAVA
Primeiros passos 7
Olá
David Willian
hoje vamos aprimorar nossos conceitos de java
eu sempre estou em @davidwillianx
Continuando...
O que vamos continuar do dia anterior; 1
“
“Com um grande poder vem uma
grande responsabilidade “ (Tio Ben)
Exceptions
◉ Erros de lógica?
◉ Tipos de exception
◉ Como lança-las?
◉ Como capturá-las?
◉ Criando seu própio error;
◉ Tenha cuidado;
Árvore de exceptions
Unchecked
Exemplos como divisão por zero,
tentativa de incluir elementos
em um array em um índice
inexistente são exceções que o
java não vai te obrigar a
capturar, pois fica claro ao java
que você não vai executar esse
tipo de operação (Lógica do
programador);
UNCHECKED VS CHECKED
Checked
A JVM espera que você
capture/trate essa exceção pois
esse tipo de caso se refere a um
contexto fora do domínio direto
da aplicação (Ex.: Internet ,
banco de dados, memória)
USANDO TRY / CATCH
EXEMPLO
Em nossa aplicação realizamos o cálculo do pagamento dos
funcionários professor e secretário, podemos tratar o caso da
passagem do valor de hora como tratamento de exceção;
vamos modificar...
Collections
Estrutura de dados elástica e com
elegancia de acesso, pode ser
encontrada facilmente em java.
O QUE É TÃO MARAVILHOSO?
Manipular grande quantidade de dados em uma estrutura como
arrays não seria muito performático, pelo fato que
aparentemente tudo que que precisamos faz-se necessário
iterá-lo para descobrir....
O QUE É TÃO MARAVILHOSO?
… sem contar que temos a obrigação de criar uma quantidade
de index maior que a esperada (Evitando
ArrayIndexOutOfBoundsException), fora o fato de ações como
remoção, movimentação etc.
COLLECTIONS
Disponibiliza
estruturação de dados
de maneira simples,
elegante e robusta
Temos algumas
interfaces para trabalhar
com estruturas de dados
para cada problema*
ORGANIZAÇÃO DA API
Trabalhando com LIST
Trabalhando com collections dificilmente vai
querer trabalhar novamente com arrays >_<
LIST
É uma interface que descreve como trabalhar com listas em java
esta é implementada por :
ARRAYLIST | LINKEDLIST | VECTOR
LIST
LIST
Usando a interface list podemos fazer varias ações dentro da
nossa estrutura de dados
LIST
LIST
Analisando o diagrama
conseguimos ver algumas
diferenças entre as estruturas,
cabendo ao desenvolvedor optar
pela implementação satisfatória
para determinado caso;
GENERICS
Coleções trabalham com
referência de qualquer tipo
(Object), desta forma em caso
que se tem valores de mesmo
tipo, o programador precisa
realizar casting dos valores
armazenados;
Quando especificamos para
coleção o tipo a ser armazenado
nos precavemos de possiveis
entradas ou testes (exceptions
unchecked), para parametros e
ainda nos livramos dos repetidos
castings que possivelmente
seriam feitos;
GENERICS
Trabalhando com SET
O Conceito de conjuntos (Matemáticos),
também pode ser expressado em java
SET
É uma interface que descreve como trabalhar com conjuntos
em java sendo implementada por:
HASHSET | TREESET
SET
Métodos Básicos
Possui Métods de
ordenação
diretamente?
Melhor Performace**
HASHSET
add, remove,
contains and size
TREESET
add, remove and
contains
USANDO FOR e FORIN*
EXEMPLO
Assim como criamos um controlador para gerenciar
pagamento, podemos criar um para gerenciamento de pessoal,
este ficando responsável por armazenar nossos funcionarios e ,
possívelmente, nos fornecer alguns relatórios
PACOTES
PACOTES
Em aplicações mais complexas e que contém bons conceitos
implementados de OO, Interfaces etc, certamente deve
apresentar suas classes de maneira organizada;
PACOTES
Organizar seus pacotes da significado ao seu código, além de
possibilitar uma busca mais rápida, partindo da ideia que não
usou recursos da IDE
PACOTES
Outro fato de escrever pacotes organizados é que facilita saber
o que faz parte do seu código e o que faz parte de bibliotecas
externas, partindo de que estamos usando padroẽs de projeto é
muito fácil termos nomes iguais;
PACOTES
Outro fato de escrever pacotes organizados é que facilita saber
o que faz parte do seu código e o que faz parte de bibliotecas
externas, partindo de que estamos usando padroẽs de projeto é
muito fácil termos nomes iguais;
EXEMPLO
Nossas classes já possuem bastante valor quanto a
nomenclaturas, responsabilidades e representatividade, porém
não estão organizadas em pacotes significativos. Vamos
melhorar?
ATÉ AQUI...
Durante todos esses dias falamos sobre conceitos do java.
Agora vamos planejar nossa atividade final, usando conceitos
que já conhecemos e outros nem tanto assim;
E AGORA ?
Durante todos esses dias falamos sobre conceitos do java. Agora vamos planejar nossa atividade final,
usando conceitos que já conhecemos e outros nem tanto assim;
Nosso objetivo agora é fazer registros com duração maior que o tempo
de execução de nosso método main, para isso:
● Vamos usar MYSQL
● Vamos usar saida usando Excel
VAMOS CODAR NOSSO PROJETO
Lembrando que precisamos ter
visto alguns conceitos sobre
Mysql em casa
Obrigado!
Alguma dúvida?
onde me encontrar :
@davidwillianx / davidcbsi (AT) g-mail.com
Agradecido :D
Special thanks to all the people who made and released these awesome resources for free:
◉ Presentation template by SlidesCarnival
◉ Photographs by Unsplash
IMAGENS :D
◉ https://www.nyfa.edu/student-resources/wp-content/uploads/2014/07/huge-game-collection.png
◉ http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http%3A%2F%
2Fwww.beingjavaguys.com%2F2013%2F03%2Fjava-collection-framework.html&ei=wByMVduJNoa6ggSdl5jQAQ&bvm=bv.96782255,
d.eXY&psig=AFQjCNEP7dTH3dAC7hJuYoUr5knAAnvMlA&ust=1435332121357680
◉ http://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http%3A%2F%
2Fgloboesporte.globo.com%2Ffutebol%2Ffutebol-internacional%2Fnoticia%2F2013%2F01%2Ftaffarel-e-o-melhor-goleiro-
brasileiro-nos-ultimos-25-anos-segundo-iffhs.html&ei=TSGMVY3vM4uZNuiSg7gL&bvm=bv.96782255,d.
eXY&psig=AFQjCNEl_M1QECPE_C1CIt7swPx-eR07LA&ust=1435333320861439
◉ http://graduategonegaga.files.wordpress.com/2013/10/shopping-cart-full-of-beer.jpg
◉ http://simplelifestrategies.com/wp-content/uploads/2011/11/thinking-please-be-patient-thecuriousbrain.com_.jpg
Obrigado!
Alguma dúvida?
onde me encontrar :
@davidwillianx / davidcbsi (AT) g-mail.com

Mais conteúdo relacionado

Mais procurados

Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011
Luís Cobucci
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
Dextra
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
PeslPinguim
 
10 Boas Práticas de Programação
10 Boas Práticas de Programação10 Boas Práticas de Programação
10 Boas Práticas de Programação
Carlos Schults
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Cristiano Almeida
 
Java básico
Java básicoJava básico
Java básico
Laryssa Muniz
 
Clean code
Clean codeClean code
Clean code
Gustavo Barbosa
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
Luis Ferreira
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
diegomcunha
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
Charles Jungbeck
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
Mario Sergio
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SE
Evandro Júnior
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
Joel Lobo
 
Introdução a programação I
Introdução a programação IIntrodução a programação I
Introdução a programação I
Clerton Leal
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
Yasser Veleda
 
01 java fundamentos
01 java fundamentos01 java fundamentos
01 java fundamentos
Paulo Alves Dos Santos
 
Apresentação Clean Code
Apresentação Clean CodeApresentação Clean Code
Apresentação Clean Code
André Leoni
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Rafael Pinheiro
 
Introdução a programação II
Introdução a programação IIIntrodução a programação II
Introdução a programação II
Clerton Leal
 
Aula 4 herança, sobrescrita de métodos, construtor
Aula 4   herança, sobrescrita de métodos, construtorAula 4   herança, sobrescrita de métodos, construtor
Aula 4 herança, sobrescrita de métodos, construtor
Rafael Pinheiro
 

Mais procurados (20)

Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
10 Boas Práticas de Programação
10 Boas Práticas de Programação10 Boas Práticas de Programação
10 Boas Práticas de Programação
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Java básico
Java básicoJava básico
Java básico
 
Clean code
Clean codeClean code
Clean code
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SE
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Introdução a programação I
Introdução a programação IIntrodução a programação I
Introdução a programação I
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
 
01 java fundamentos
01 java fundamentos01 java fundamentos
01 java fundamentos
 
Apresentação Clean Code
Apresentação Clean CodeApresentação Clean Code
Apresentação Clean Code
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Introdução a programação II
Introdução a programação IIIntrodução a programação II
Introdução a programação II
 
Aula 4 herança, sobrescrita de métodos, construtor
Aula 4   herança, sobrescrita de métodos, construtorAula 4   herança, sobrescrita de métodos, construtor
Aula 4 herança, sobrescrita de métodos, construtor
 

Semelhante a Java Primeiros Passos - Cap 7

Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
Clayton de Almeida Souza
 
JAVA REFLETCION
JAVA REFLETCIONJAVA REFLETCION
Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
Marcelo Zeferino
 
JPA INTRODUÇÃO
JPA INTRODUÇÃOJPA INTRODUÇÃO
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016
Romualdo Andre
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
Fernando Camargo
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
Escola Básica e Secundária da Povoação
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
John Godoi
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
Giovanni Bassi
 
Arquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarArquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudar
Better Developer
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
Juciellen Cabrera
 
Aop Aspect J 1.5.4
Aop Aspect J 1.5.4Aop Aspect J 1.5.4
Aop Aspect J 1.5.4
Diego Pacheco
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AurelcioOliveira
 
[Campus code] Boas práticas em Rails
[Campus code] Boas práticas em Rails[Campus code] Boas práticas em Rails
[Campus code] Boas práticas em Rails
fabio perrella
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
MoisesInacio
 
Qualidade de Código
Qualidade de CódigoQualidade de Código
Qualidade de Código
Joberto Diniz
 
Apostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a ParteApostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a Parte
Ilton Barbosa
 
Dicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg adminDicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg admin
Ep Forp
 

Semelhante a Java Primeiros Passos - Cap 7 (20)

Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 
JAVA REFLETCION
JAVA REFLETCIONJAVA REFLETCION
JAVA REFLETCION
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
JPA INTRODUÇÃO
JPA INTRODUÇÃOJPA INTRODUÇÃO
JPA INTRODUÇÃO
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
 
Arquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarArquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudar
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
 
Aop Aspect J 1.5.4
Aop Aspect J 1.5.4Aop Aspect J 1.5.4
Aop Aspect J 1.5.4
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
 
[Campus code] Boas práticas em Rails
[Campus code] Boas práticas em Rails[Campus code] Boas práticas em Rails
[Campus code] Boas práticas em Rails
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
 
Qualidade de Código
Qualidade de CódigoQualidade de Código
Qualidade de Código
 
Apostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a ParteApostila PhP com Wamp, 4a Parte
Apostila PhP com Wamp, 4a Parte
 
Dicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg adminDicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg admin
 

Mais de David Willian

E2e test protractor
E2e test protractorE2e test protractor
E2e test protractor
David Willian
 
Atividade 3
Atividade 3Atividade 3
Atividade 3
David Willian
 
Atividade 2
Atividade 2 Atividade 2
Atividade 2
David Willian
 
Atividade 1 o incio do java
Atividade 1    o incio do javaAtividade 1    o incio do java
Atividade 1 o incio do java
David Willian
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
David Willian
 
Como motivar Pessoas
Como motivar PessoasComo motivar Pessoas
Como motivar Pessoas
David Willian
 
Como aprender a programar
Como aprender a programarComo aprender a programar
Como aprender a programar
David Willian
 

Mais de David Willian (7)

E2e test protractor
E2e test protractorE2e test protractor
E2e test protractor
 
Atividade 3
Atividade 3Atividade 3
Atividade 3
 
Atividade 2
Atividade 2 Atividade 2
Atividade 2
 
Atividade 1 o incio do java
Atividade 1    o incio do javaAtividade 1    o incio do java
Atividade 1 o incio do java
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Como motivar Pessoas
Como motivar PessoasComo motivar Pessoas
Como motivar Pessoas
 
Como aprender a programar
Como aprender a programarComo aprender a programar
Como aprender a programar
 

Java Primeiros Passos - Cap 7

  • 2. Olá David Willian hoje vamos aprimorar nossos conceitos de java eu sempre estou em @davidwillianx
  • 3. Continuando... O que vamos continuar do dia anterior; 1
  • 4. “ “Com um grande poder vem uma grande responsabilidade “ (Tio Ben)
  • 5. Exceptions ◉ Erros de lógica? ◉ Tipos de exception ◉ Como lança-las? ◉ Como capturá-las? ◉ Criando seu própio error; ◉ Tenha cuidado;
  • 7. Unchecked Exemplos como divisão por zero, tentativa de incluir elementos em um array em um índice inexistente são exceções que o java não vai te obrigar a capturar, pois fica claro ao java que você não vai executar esse tipo de operação (Lógica do programador); UNCHECKED VS CHECKED Checked A JVM espera que você capture/trate essa exceção pois esse tipo de caso se refere a um contexto fora do domínio direto da aplicação (Ex.: Internet , banco de dados, memória)
  • 8. USANDO TRY / CATCH
  • 9.
  • 10.
  • 11. EXEMPLO Em nossa aplicação realizamos o cálculo do pagamento dos funcionários professor e secretário, podemos tratar o caso da passagem do valor de hora como tratamento de exceção; vamos modificar...
  • 12. Collections Estrutura de dados elástica e com elegancia de acesso, pode ser encontrada facilmente em java.
  • 13. O QUE É TÃO MARAVILHOSO? Manipular grande quantidade de dados em uma estrutura como arrays não seria muito performático, pelo fato que aparentemente tudo que que precisamos faz-se necessário iterá-lo para descobrir....
  • 14. O QUE É TÃO MARAVILHOSO? … sem contar que temos a obrigação de criar uma quantidade de index maior que a esperada (Evitando ArrayIndexOutOfBoundsException), fora o fato de ações como remoção, movimentação etc.
  • 15. COLLECTIONS Disponibiliza estruturação de dados de maneira simples, elegante e robusta Temos algumas interfaces para trabalhar com estruturas de dados para cada problema*
  • 17. Trabalhando com LIST Trabalhando com collections dificilmente vai querer trabalhar novamente com arrays >_<
  • 18. LIST É uma interface que descreve como trabalhar com listas em java esta é implementada por : ARRAYLIST | LINKEDLIST | VECTOR
  • 19. LIST
  • 20. LIST Usando a interface list podemos fazer varias ações dentro da nossa estrutura de dados
  • 21. LIST
  • 22. LIST Analisando o diagrama conseguimos ver algumas diferenças entre as estruturas, cabendo ao desenvolvedor optar pela implementação satisfatória para determinado caso;
  • 23. GENERICS Coleções trabalham com referência de qualquer tipo (Object), desta forma em caso que se tem valores de mesmo tipo, o programador precisa realizar casting dos valores armazenados; Quando especificamos para coleção o tipo a ser armazenado nos precavemos de possiveis entradas ou testes (exceptions unchecked), para parametros e ainda nos livramos dos repetidos castings que possivelmente seriam feitos;
  • 25. Trabalhando com SET O Conceito de conjuntos (Matemáticos), também pode ser expressado em java
  • 26. SET É uma interface que descreve como trabalhar com conjuntos em java sendo implementada por: HASHSET | TREESET
  • 27. SET Métodos Básicos Possui Métods de ordenação diretamente? Melhor Performace** HASHSET add, remove, contains and size TREESET add, remove and contains
  • 28. USANDO FOR e FORIN*
  • 29. EXEMPLO Assim como criamos um controlador para gerenciar pagamento, podemos criar um para gerenciamento de pessoal, este ficando responsável por armazenar nossos funcionarios e , possívelmente, nos fornecer alguns relatórios
  • 31. PACOTES Em aplicações mais complexas e que contém bons conceitos implementados de OO, Interfaces etc, certamente deve apresentar suas classes de maneira organizada;
  • 32. PACOTES Organizar seus pacotes da significado ao seu código, além de possibilitar uma busca mais rápida, partindo da ideia que não usou recursos da IDE
  • 33. PACOTES Outro fato de escrever pacotes organizados é que facilita saber o que faz parte do seu código e o que faz parte de bibliotecas externas, partindo de que estamos usando padroẽs de projeto é muito fácil termos nomes iguais;
  • 34. PACOTES Outro fato de escrever pacotes organizados é que facilita saber o que faz parte do seu código e o que faz parte de bibliotecas externas, partindo de que estamos usando padroẽs de projeto é muito fácil termos nomes iguais;
  • 35. EXEMPLO Nossas classes já possuem bastante valor quanto a nomenclaturas, responsabilidades e representatividade, porém não estão organizadas em pacotes significativos. Vamos melhorar?
  • 36. ATÉ AQUI... Durante todos esses dias falamos sobre conceitos do java. Agora vamos planejar nossa atividade final, usando conceitos que já conhecemos e outros nem tanto assim;
  • 37. E AGORA ? Durante todos esses dias falamos sobre conceitos do java. Agora vamos planejar nossa atividade final, usando conceitos que já conhecemos e outros nem tanto assim; Nosso objetivo agora é fazer registros com duração maior que o tempo de execução de nosso método main, para isso: ● Vamos usar MYSQL ● Vamos usar saida usando Excel
  • 38. VAMOS CODAR NOSSO PROJETO Lembrando que precisamos ter visto alguns conceitos sobre Mysql em casa
  • 39. Obrigado! Alguma dúvida? onde me encontrar : @davidwillianx / davidcbsi (AT) g-mail.com
  • 40. Agradecido :D Special thanks to all the people who made and released these awesome resources for free: ◉ Presentation template by SlidesCarnival ◉ Photographs by Unsplash
  • 41. IMAGENS :D ◉ https://www.nyfa.edu/student-resources/wp-content/uploads/2014/07/huge-game-collection.png ◉ http://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http%3A%2F% 2Fwww.beingjavaguys.com%2F2013%2F03%2Fjava-collection-framework.html&ei=wByMVduJNoa6ggSdl5jQAQ&bvm=bv.96782255, d.eXY&psig=AFQjCNEP7dTH3dAC7hJuYoUr5knAAnvMlA&ust=1435332121357680 ◉ http://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http%3A%2F% 2Fgloboesporte.globo.com%2Ffutebol%2Ffutebol-internacional%2Fnoticia%2F2013%2F01%2Ftaffarel-e-o-melhor-goleiro- brasileiro-nos-ultimos-25-anos-segundo-iffhs.html&ei=TSGMVY3vM4uZNuiSg7gL&bvm=bv.96782255,d. eXY&psig=AFQjCNEl_M1QECPE_C1CIt7swPx-eR07LA&ust=1435333320861439 ◉ http://graduategonegaga.files.wordpress.com/2013/10/shopping-cart-full-of-beer.jpg ◉ http://simplelifestrategies.com/wp-content/uploads/2011/11/thinking-please-be-patient-thecuriousbrain.com_.jpg
  • 42. Obrigado! Alguma dúvida? onde me encontrar : @davidwillianx / davidcbsi (AT) g-mail.com