java primeiros passos - cap 7

Post on 14-Aug-2015

70 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related