Java Primeiros Passos - Cap 7

42
JAVA Primeiros passos 7

Transcript of Java Primeiros Passos - Cap 7

Page 1: Java Primeiros Passos - Cap 7

JAVAPrimeiros passos 7

Page 2: Java Primeiros Passos - Cap 7

OláDavid Willian

hoje vamos aprimorar nossos conceitos de javaeu sempre estou em @davidwillianx

Page 3: Java Primeiros Passos - Cap 7

Continuando...O que vamos continuar do dia anterior; 1

Page 4: Java Primeiros Passos - Cap 7

““Com um grande poder vem uma

grande responsabilidade “ (Tio Ben)

Page 5: Java Primeiros Passos - Cap 7

Exceptions◉ Erros de lógica?◉ Tipos de exception◉ Como lança-las?◉ Como capturá-las?◉ Criando seu própio error;◉ Tenha cuidado;

Page 6: Java Primeiros Passos - Cap 7

Árvore de exceptions

Page 7: Java Primeiros Passos - Cap 7

UncheckedExemplos 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

CheckedA 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)

Page 8: Java Primeiros Passos - Cap 7

USANDO TRY / CATCH

Page 9: Java Primeiros Passos - Cap 7
Page 10: Java Primeiros Passos - Cap 7
Page 11: Java Primeiros Passos - Cap 7

EXEMPLOEm 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...

Page 12: Java Primeiros Passos - Cap 7

CollectionsEstrutura de dados elástica e com

elegancia de acesso, pode ser encontrada facilmente em java.

Page 13: Java Primeiros Passos - Cap 7

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....

Page 14: Java Primeiros Passos - Cap 7

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.

Page 15: Java Primeiros Passos - Cap 7

COLLECTIONS

Disponibiliza estruturação de dados

de maneira simples, elegante e robusta

Temos algumas interfaces para trabalhar com estruturas de dados para cada problema*

Page 16: Java Primeiros Passos - Cap 7

ORGANIZAÇÃO DA API

Page 17: Java Primeiros Passos - Cap 7

Trabalhando com LISTTrabalhando com collections dificilmente vai

querer trabalhar novamente com arrays >_<

Page 18: Java Primeiros Passos - Cap 7

LISTÉ uma interface que descreve como trabalhar com listas em java esta é implementada por :

ARRAYLIST | LINKEDLIST | VECTOR

Page 19: Java Primeiros Passos - Cap 7

LIST

Page 20: Java Primeiros Passos - Cap 7

LIST

Usando a interface list podemos fazer varias ações dentro da nossa estrutura de dados

Page 21: Java Primeiros Passos - Cap 7

LIST

Page 22: Java Primeiros Passos - Cap 7

LISTAnalisando o diagrama conseguimos ver algumas diferenças entre as estruturas, cabendo ao desenvolvedor optar pela implementação satisfatória para determinado caso;

Page 23: Java Primeiros Passos - Cap 7

GENERICSColeçõ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;

Page 24: Java Primeiros Passos - Cap 7

GENERICS

Page 25: Java Primeiros Passos - Cap 7

Trabalhando com SETO Conceito de conjuntos (Matemáticos),

também pode ser expressado em java

Page 26: Java Primeiros Passos - Cap 7

SETÉ uma interface que descreve como trabalhar com conjuntos em java sendo implementada por:

HASHSET | TREESET

Page 27: Java Primeiros Passos - Cap 7

SET

Métodos BásicosPossui Métods de

ordenação diretamente?

Melhor Performace**

HASHSET add, remove, contains and size

TREESET add, remove and contains

Page 28: Java Primeiros Passos - Cap 7

USANDO FOR e FORIN*

Page 29: Java Primeiros Passos - Cap 7

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

Page 30: Java Primeiros Passos - Cap 7

PACOTES

Page 31: Java Primeiros Passos - Cap 7

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;

Page 32: Java Primeiros Passos - Cap 7

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

Page 33: Java Primeiros Passos - Cap 7

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;

Page 34: Java Primeiros Passos - Cap 7

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;

Page 35: Java Primeiros Passos - Cap 7

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?

Page 36: Java Primeiros Passos - Cap 7

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;

Page 37: Java Primeiros Passos - Cap 7

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

Page 38: Java Primeiros Passos - Cap 7

VAMOS CODAR NOSSO PROJETOLembrando que precisamos ter visto alguns conceitos sobre Mysql em casa

Page 39: Java Primeiros Passos - Cap 7

Obrigado!Alguma dúvida?

onde me encontrar :@davidwillianx / davidcbsi (AT) g-mail.com

Page 40: Java Primeiros Passos - Cap 7

Agradecido :D

Special thanks to all the people who made and released these awesome resources for free:

◉ Presentation template by SlidesCarnival◉ Photographs by Unsplash

Page 41: Java Primeiros Passos - Cap 7

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

Page 42: Java Primeiros Passos - Cap 7

Obrigado!Alguma dúvida?

onde me encontrar :@davidwillianx / davidcbsi (AT) g-mail.com