Java Primeiros Passos - Cap 7
-
Upload
david-willian -
Category
Software
-
view
68 -
download
0
Transcript of Java Primeiros Passos - Cap 7
JAVAPrimeiros passos 7
OláDavid Willian
hoje vamos aprimorar nossos conceitos de javaeu 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
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)
USANDO TRY / CATCH
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...
CollectionsEstrutura 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 LISTTrabalhando 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
LISTAnalisando o diagrama conseguimos ver algumas diferenças entre as estruturas, cabendo ao desenvolvedor optar pela implementação satisfatória para determinado caso;
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;
GENERICS
Trabalhando com SETO 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ásicosPossui 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 PROJETOLembrando 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