Conteúdo Programático 
 Fundamentos e sintaxe da linguagem Java 
 Orientação a objetos 
 Collections 
 Exceções 
 Lei...
Fundamentos da linguagem Java 
 Distribuições do Java 
Rosicléia Frasson - 2014
Fundamentos da linguagem Java 
 Compilador e interpretador Java 
Rosicléia Frasson - 2014
Fundamentos da linguagem Java 
 Java SE 
Rosicléia Frasson - 2014
Fundamentos da linguagem Java 
 JDK X JRE 
 A JRE é o ambiente de execução 
Java para quem quer apenas 
executar program...
Fundamentos da linguagem Java 
 IDE - Eclipse 
Rosicléia Frasson - 2014
Fundamentos da linguagem Java 
 Gerenciamento de memória Java 
Rosicléia Frasson - 2014
Fundamentos da linguagem Java 
 Garbage Collector 
Rosicléia Frasson - 2014
Sintaxe da linguagem Java 
 Ponto e vírgula, blocos, espaços em branco e case-sensitive 
 Para uma melhor legibilidade d...
Sintaxe da linguagem Java 
 Palavras reservadas 
abstract assert boolean break byte case catch 
char class const continue...
Sintaxe da linguagem Java 
 Tipos primitivos 
Classificação Tipo Tamanho 
lógico boolean 1 bit 
Rosicléia Frasson - 2014 ...
Sintaxe da linguagem Java 
 Conversão entre tipos 
Rosicléia Frasson - 2014 
` 
 Implicitamente: A JVM transforma em tem...
Sintaxe da linguagem Java 
 Declaração de variáveis 
tipo nome Valor inicial 
Rosicléia Frasson - 2014 
double peso; 
int...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Rosicléia Frasson - 2014 
Regras 
 Os nomes de variáveis em Java de...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Rosicléia Frasson - 2014 
Convenções 
 O nome de uma variável deve ...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Date data; //data de devolução do produto X 
Rosicléia Frasson - 201...
Sintaxe da linguagem Java 
 Declaração de variáveis 
String cliente; X 
Rosicléia Frasson - 2014 
Convenções 
 É indicad...
Sintaxe da linguagem Java 
 Declaração de variáveis 
 * É uma sigla conhecida 
Rosicléia Frasson - 2014 
Convenções 
 A...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Rosicléia Frasson - 2014 
Convenções 
 Nomes semelhantes devem ser ...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Rosicléia Frasson - 2014 
Convenções 
 Identificadores de variáveis...
Sintaxe da linguagem Java 
 Declaração de variáveis 
Rosicléia Frasson - 2014 
Convenções 
 É preferível declarar uma va...
Sintaxe da linguagem Java 
 Entrada e saída de dados 
Classe Scanner e objeto System.in 
import java.util.Scanner; 
publi...
Sintaxe da linguagem Java 
 Entrada e saída de dados 
Métodos Classe Scanner e objeto System.out 
System.out.println("Inf...
Sintaxe da linguagem Java 
 Operadores básicos 
. Referência a método, função ou atributo de um objeto. 
, Separador de i...
Sintaxe da linguagem Java 
 Operadores lógicos 
Rosicléia Frasson - 2014 
> Maior 
>= Maior ou igual 
< Menor 
<= Menor o...
Sintaxe da linguagem Java 
 Operador condicional ternário 
condição ? caso verdadeiro : caso falso 
Scanner entrada = new...
Sintaxe da linguagem Java 
 Operadores aritméticos 
Rosicléia Frasson - 2014 
+ Adição 
- Subtração 
* Multiplicação 
/ D...
Sintaxe da linguagem Java 
 Operadores aritméticos 
 Divisão de números inteiros sempre resulta em um inteiro. 
int divi...
Sintaxe da linguagem Java 
 Operadores de incremento e decremento 
Rosicléia Frasson - 2014 
Operador Exemplo Significado...
Sintaxe da linguagem Java 
 Operadores de atribuição 
Operador Exemplo Expressão equivalente 
+= x += y x = x + y 
-= x -...
Sintaxe da linguagem Java 
 Tipos primitivos e variáveis de referência 
Rosicléia Frasson - 2014
Sintaxe da linguagem Java 
 Pool de Strings 
Rosicléia Frasson - 2014
Sintaxe da linguagem Java 
 Classe String: métodos utilitários 
Rosicléia Frasson - 2014 
 equals 
 replace 
 trim 
 ...
Sintaxe da linguagem Java 
 Transformação de Strings em tipos numéricos 
Rosicléia Frasson - 2014 
int idade = 
Integer.p...
Sintaxe da linguagem Java 
 Estruturas condicionais 
Rosicléia Frasson - 2014 
 Uma estrutura de 
condição avalia uma 
e...
Sintaxe da linguagem Java 
 Comando if ... else 
Rosicléia Frasson - 2014 
if (expressão){ 
bloco de comandos 
} else{ 
b...
Sintaxe da linguagem Java 
 Comando if ... else 
Rosicléia Frasson - 2014 
import java.util.Scanner; 
public class Condic...
Sintaxe da linguagem Java 
 Comando switch 
Rosicléia Frasson - 2014 
switch (expressão){ 
case constante1: 
bloco de com...
Sintaxe da linguagem Java 
 Comando switch 
Rosicléia Frasson - 2014 
switch (diaDaSemana) { 
case 1: 
System.out.println...
Sintaxe da linguagem Java 
 Estruturas de repetição 
 Uma estrutura de repetição permite que um programa execute 
um blo...
Sintaxe da linguagem Java 
 Comando for 
for (inicialização; condição; incremento){ 
Rosicléia Frasson - 2014 
bloco de c...
Sintaxe da linguagem Java 
 Comando for 
public class RepeticaoFor { 
public static void main(String[] args) { 
for (int ...
Sintaxe da linguagem Java 
 Comando while 
Rosicléia Frasson - 2014 
while (condição){ 
bloco de comandos; 
}
Sintaxe da linguagem Java 
 Comando while 
public class RepeticaoWhile { 
public static void main(String[] args) { 
Rosic...
Sintaxe da linguagem Java 
 Comando do ... while 
Rosicléia Frasson - 2014 
do{ 
bloco de comandos; 
} while (condição);
Sintaxe da linguagem Java 
 Comando do ... while 
import java.util.Scanner; 
public class RepeticaoDoWhile { 
public stat...
Sintaxe da linguagem Java 
 Comando break 
 Ocasiona a saída imediata de uma instrução for, while, do ... while ou switc...
Sintaxe da linguagem Java 
 Comando continue 
 O comando continue ignora as instruções restantes no corpo do loop e pros...
Sintaxe da linguagem Java 
 Comentários 
 Comentário de uma linha: O uso de barra dupla marca o início do comentário que...
Sintaxe da linguagem Java 
 Arrays 
String[] nome = new String[10]; 
0 1 2 3 4 5 6 7 8 9 
Rosicléia Frasson - 2014 
nome[...
Sintaxe da linguagem Java 
 Arrays 
Rosicléia Frasson - 2014 
import java.util.Scanner; 
public class Vetor { 
public sta...
Sintaxe da linguagem Java 
 Comando for each 
 Percorre uma coleção de dados sem a utilização de um contador explícito; ...
Sintaxe da linguagem Java 
 Comando for each 
public class ComandoForAprimorado { 
public static void main(String[] args)...
Programação Orientada a Objetos 
Organização POO 
Rosicléia Frasson - 2014 
Lógica de 
negócio 
encapsulada 
Simplicidade ...
Programação Orientada a Objetos 
 Princípios POO 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Objetos 
Rosicléia Frasson - 2014 
Funcionário 
Jessica Funcionário 
Márcio 
Cupom fisc...
Programação Orientada a Objetos 
 Classe 
Funcionários 
Rosicléia Frasson - 2014 
Matrícula: 1234 
Nome: João da Silva 
S...
Programação Orientada a Objetos 
 Classe 
Rosicléia Frasson - 2014 
 Representação UML
Programação Orientada a Objetos 
 Classe 
Rosicléia Frasson - 2014 
 Classe Java
Programação Orientada a Objetos 
 Atributos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Métodos 
Assinatura do método = nome do método + lista de parâmetros 
Rosicléia Frasson...
Programação Orientada a Objetos 
 Métodos 
Os métodos com parâmetros quando invocados, obrigam o 
invocador a fornecer u...
Programação Orientada a Objetos 
 Métodos 
Quando um método é invocado, o fluxo de execução passa para 
o método invocad...
Programação Orientada a Objetos 
 Métodos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Sobrecarga de métodos 
 Também conhecida por overloading; 
 Permite a existência de d...
Programação Orientada a Objetos 
 Sobrecarga de métodos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Instâncias de classes 
 O new aloca espaço para armazenar os campos do 
objeto e os in...
Programação Orientada a Objetos 
 Instâncias de classes 
Rosicléia Frasson - 2014 
CÓDIGO JAVA 
Produto p1 = new Produto(...
Programação Orientada a Objetos 
 Métodos equals e toString 
 O método toString retorna uma String que textualmente 
rep...
Programação Orientada a Objetos 
 Construtor 
 A palavra chave new executa o construtor da classe. 
 Um construtor é um...
Programação Orientada a Objetos 
 Construtor 
Rosicléia Frasson - 2014 
(p1.equals(p)) 
p.toString();
Programação Orientada a Objetos 
 Construtor 
Rosicléia Frasson - 2014 
(p1.equals(p)) 
p.toString();
Programação Orientada a Objetos 
 Construtor 
Rosicléia Frasson - 2014 
(p1.equals(p)) 
p.toString();
Programação Orientada a Objetos 
 Métodos varargs 
public double calculaValorVenda (double ... precosProdutos){ 
double v...
Programação Orientada a Objetos 
 Atributos estáticos 
Classe Produto 
p1 p2 p3 
Rosicléia Frasson - 2014 
codigo: 1 
nom...
Programação Orientada a Objetos 
 Atributos estáticos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Constantes 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Métodos estáticos 
 Métodos estáticos pertencem a uma classe e não a uma 
instância da...
Programação Orientada a Objetos 
 Métodos estáticos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Classe Math 
 Disponibiliza uma série de operações e constantes 
matemáticas. 
Math.PI...
Programação Orientada a Objetos 
 Enum 
 É um tipo que corresponde a um conjunto fixo de constantes. 
 Os ENUMs tornam ...
Programação Orientada a Objetos 
 Enum 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Enum 
Rosicléia Frasson - 2014 
Os enums 
podem ser 
declarados 
internamente 
em uma 
...
Programação Orientada a Objetos 
 Composição 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Composição 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
Rosicléia Frasson - 2014 
 Pacotes 
 Possuem como objetivo agrupar classes de funcional...
Programação Orientada a Objetos 
 Declaração de pacotes 
 Nomes de pacotes devem ser compostos exclusivamente por letras...
Programação Orientada a Objetos 
 Declaração de pacotes 
 As classes devem possuir como primeira instrução a indicação 
...
Programação Orientada a Objetos 
javax.swing.JOptionPane.showMessageDialog(null, "Exemplo 
utilização de nome plenamente q...
Programação Orientada a Objetos 
Rosicléia Frasson - 2014 
 Pacotes JSE 
Pacote Funcionalidade 
java.lang Fornece classes...
Programação Orientada a Objetos 
 Encapsulamento 
 Consiste em ocultar detalhes da implementação de um objeto 
do meio e...
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014 
 public 
 protected 
 default 
 ...
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014 
public 
Membro acessível a qualquer...
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014 
protected 
Membro acessível a subcl...
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014 
default 
Ausência de modificador. 
...
Programação Orientada a Objetos 
 Modificadores de acesso 
Rosicléia Frasson - 2014 
private 
Membro acessível apenas de...
Programação Orientada a Objetos 
 Gets e sets 
 Quando é usado o modificador de acesso private em um 
atributo, não é po...
Programação Orientada a Objetos 
 Gets e sets 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Gets e sets 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Herança 
 O mecanismo de herança permite uma hierarquia 
entre classes; 
 As subclass...
Programação Orientada a Objetos 
 Herança 
Pessoa 
Jurídica 
Fabricante Fornecedor 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Herança 
public class PessoaJuridica { 
} 
public class Fabricante extends PessoaJuridi...
Programação Orientada a Objetos 
 Sobrescrita de métodos 
 A sobrescrita de métodos é o mecanismo que 
permite a alteraç...
Programação Orientada a Objetos 
 Sobrescrita de métodos 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Sobrescrita de métodos 
 Métodos sobrepostos nunca podem ter menos acesso que os 
méto...
Programação Orientada a Objetos 
 Modificador final 
 Impede que uma classe seja extendida; 
Impede que um método seja ...
Programação Orientada a Objetos 
 Polimorfismo 
 O polimorfismo permite que objetos de múltiplos 
tipos sejam referencia...
Programação Orientada a Objetos 
 Classe abstrata 
 Uma classe abstrata não pode ser instanciada. 
 As classes abstrata...
Programação Orientada a Objetos 
 Classe abstrata 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Classe abstrata 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Interface 
 Possui como propósito forçar uma subclasse a reescrever todos os 
métodos ...
Programação Orientada a Objetos 
 Interface 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Interface 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Classes Wrappers 
Rosicléia Frasson - 2014
Programação Orientada a Objetos 
 Classes Wrappers 
 Fornecem um mecanismo para empacotar valores 
primitivos em um tipo...
Programação Orientada a Objetos 
 Classes Wrappers 
 As classes Wrappers , exceto a Character, possuem dois 
construtore...
Programação Orientada a Objetos 
 Classes Wrappers 
 As classes Wrappers fornecem métodos para conversão de 
uma String ...
Collections 
Rosicléia Frasson - 2014
Collections 
 Listas: java.util.List 
Uma lista é uma coleção que permite elementos duplicados e 
mantém uma ordenação e...
Collections 
 Listas: java.util.List 
ArrayList<String> arrayList = new ArrayList(); 
LinkedList<String> linkedList = new...
Collections 
 Listas 
O método add adiciona um 
elemento no fim da lista. 
Rosicléia Frasson - 2014 
lista.add(p); 
Syste...
Collections 
 Listas: Array List 
Rosicléia Frasson - 2014 
lista.remove(p); 
lista.contains(p); 
O método remove retira ...
Collections 
 Listas: Array List 
 O ArrayList possui acesso aleatório aos seus elementos. Sendo 
assim, a busca de um e...
Collections 
 Método sort 
 O método sort recebe um List como argumento e ordena em 
ordem crescente. 
arrayList.add("An...
Collections 
 Métodos Collections 
 binarySearch(List, Object): Realiza uma busca binária por 
determinado elemento na l...
Collections 
 Métodos Collections 
 max(Collection): Retorna o maior elemento da coleção. 
ArrayList numeros = new Array...
Collections 
 Métodos Collections 
 min(Collection): Retorna o menor elemento da coleção. 
ArrayList numeros = new Array...
Collections 
 Métodos Collections 
reverse(List): Inverte a lista. 
arrayList.add("Ana"); 
arrayList.add("Maria"); 
arra...
Collections 
 java.util.Set 
 Um conjunto Set não permite elementos duplicados. 
 Os elementos possuem uma forma especi...
Collections 
 Performance List X Set 
Collection<Integer> colecao = new HashSet<Integer>(); 
long tempoInicial = System.c...
Exceptions 
 Stacktrace 
Rosicléia Frasson - 2014 
terceiroMetodo 
segundoMetodo 
primeiroMetodo 
main 
Pilha de execução...
Exceptions 
Rosicléia Frasson - 2014
Exceptions 
 Tratamento de exceção 
 O Java possui dois tipos de 
exceções: 
unchecked: o compilador não 
checa se a ex...
Exceptions 
 Tratamento de exceção 
Rosicléia Frasson - 2014
Exceptions 
 Tratamento de exceção 
Rosicléia Frasson - 2014
Exceptions 
 Criação de um tipo de exceção 
Rosicléia Frasson - 2014
Java.io 
 API Java.io 
 Consiste em uma hierarquia de classes responsáveis pelo 
controle de entrada e saída de dados. 
...
Java.io 
 Classe File 
 A classe File lida diretamente com arquivos e 
sistema de arquivos. 
Rosicléia Frasson - 2014
Java.io 
 Classe File 
 A classe File também possibilita a criação de 
arquivos e diretórios, bem como a remoção dos 
me...
IO 
 Fluxo de bytes 
Rosicléia Frasson - 2014 
 Saída de dados
IO 
 Fluxo de bytes 
Rosicléia Frasson - 2014 
 Entrada de dados
IO 
Rosicléia Frasson - 2014
IO 
 Fluxo de caracteres 
 O fluxo de caracteres foi adicionado no Java 5 e fornecem um 
meio para entrada e saída de ca...
IO 
 Classe Reader 
Rosicléia Frasson - 2014
IO 
 Classe Reader 
Rosicléia Frasson - 2014
IO 
 Classe Writer 
Rosicléia Frasson - 2014
IO 
 Classe Writer 
Rosicléia Frasson - 2014
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 Modelo relacional
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 Modelo relacional 
 Entidades : São objetos do mundo real dentro do do...
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 Relacionamentos 
 Um-para-um
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 Relacionamentos 
 Um-para-muitos
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 Relacionamentos 
 Muitos para muitos
Banco de dados e JDBC 
Rosicléia Frasson - 2014 
 SQL 
SQL 
Strutured Query 
Language 
DDL 
Data Definition 
Language 
DM...
Banco de dados e JDBC 
 SQL - DDL (Data Definition Language) 
Rosicléia Frasson - 2014
Banco de dados e JDBC 
 SQL - DML (Data Manipulation Language) 
Rosicléia Frasson - 2014
Banco de dados e JDBC 
Rosicléia Frasson - 2014
Banco de dados e JDBC 
Rosicléia Frasson - 2014
SVN 
Rosicléia Frasson - 2014
Próximos SlideShares
Carregando em…5
×

Programação desktop - apresentação

990 visualizações

Publicada em

Programação Desktop

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
990
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
46
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Programação desktop - apresentação

  1. 1. Conteúdo Programático  Fundamentos e sintaxe da linguagem Java  Orientação a objetos  Collections  Exceções  Leitura e escrita de arquivos  SQL  Conexão com SGBD: JDBC  Interfaces gráficas: Swing e JavaFX  Geração de relatórios com Jasper Report  Controle de versões: SVN  Ant Build File Rosicléia Frasson - 2014
  2. 2. Fundamentos da linguagem Java  Distribuições do Java Rosicléia Frasson - 2014
  3. 3. Fundamentos da linguagem Java  Compilador e interpretador Java Rosicléia Frasson - 2014
  4. 4. Fundamentos da linguagem Java  Java SE Rosicléia Frasson - 2014
  5. 5. Fundamentos da linguagem Java  JDK X JRE  A JRE é o ambiente de execução Java para quem quer apenas executar programas escritos em Java.  É composta pela JVM e as APIs Java (coleção de componentes de software prontos, que incluem desde estruturas para manipulação de arquivos até a construção de aplicativos gráficos).  O JDK é o conjunto de ferramentas necessárias para o desenvolvimento de programas Java.  É composto pela JRE, javac (compilador), jar (empacotador) e o javadoc (documentação). Rosicléia Frasson - 2014
  6. 6. Fundamentos da linguagem Java  IDE - Eclipse Rosicléia Frasson - 2014
  7. 7. Fundamentos da linguagem Java  Gerenciamento de memória Java Rosicléia Frasson - 2014
  8. 8. Fundamentos da linguagem Java  Garbage Collector Rosicléia Frasson - 2014
  9. 9. Sintaxe da linguagem Java  Ponto e vírgula, blocos, espaços em branco e case-sensitive  Para uma melhor legibilidade do código, é interessante usar espaços, tabulações e novas linhas;  Um bloco é formado por uma ou mais instruções agrupadas entre chaves;  Os blocos podem ser organizados em estruturas aninhadas infinitamente;  Uma instrução é composta por uma ou mais linhas terminadas com um ponto-e-vírgula;  O Java é uma linguagem case-sensitive. Rosicléia Frasson - 2014 public class Exemplo { public static void main(String[] args) { int idade = 15; if (idade < 18){ int qtTempo = 18 - idade; System.out.println("Você não pode doar sangue. Espere " + qtTempo + " anos." ); } } }
  10. 10. Sintaxe da linguagem Java  Palavras reservadas abstract assert boolean break byte case catch char class const continue default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictpf super switch synchronized this throw throws transient try Rosicléia Frasson - 2014 void volatile while
  11. 11. Sintaxe da linguagem Java  Tipos primitivos Classificação Tipo Tamanho lógico boolean 1 bit Rosicléia Frasson - 2014 inteiro byte 1 byte short 2 bytes int 4 bytes long 8 bytes ponto flutuante float 4 bytes double 8 bytes caracter char 2 bytes `
  12. 12. Sintaxe da linguagem Java  Conversão entre tipos Rosicléia Frasson - 2014 `  Implicitamente: A JVM transforma em tempo de execução, quando acha conveniente, tipos restritos em tipos com maior amplitude.  Através de uma operação chamada casting ou conversão explícita DE: PARA: byte short char int long float double byte ----- implícito (char) implícito implícito implícito implícito short (byte) ----- (char) implícito implícito implícito implícito char (byte) (short) ----- implícito implícito implícito implícito int (byte) (short) (char) ----- implícito implícito implícito long (byte) (short) (char) (int) ----- implícito implícito float (byte) (short) (char) (int) (long) ----- implícito double (byte) (short) (char) (int) (long) (float) -----
  13. 13. Sintaxe da linguagem Java  Declaração de variáveis tipo nome Valor inicial Rosicléia Frasson - 2014 double peso; int idade; char sexo; double salario = 1200.00; boolean ligado = true;
  14. 14. Sintaxe da linguagem Java  Declaração de variáveis Rosicléia Frasson - 2014 Regras  Os nomes de variáveis em Java devem ser inicializados por uma letra, um cifrão ou por undescore;  Após o primeiro caracter, vale qualquer combinação de números, letras, underscore e cifrão;  Os identificadores não podem ter o nome igual ao de uma palavra reservada. int num;  int $num; int _num; int num1; int 1num; int NUM; compila?    X  int -num; X int num-av; X
  15. 15. Sintaxe da linguagem Java  Declaração de variáveis Rosicléia Frasson - 2014 Convenções  O nome de uma variável deve ser escrito em letras minúsculas.  Caso o nome da variável seja uma palavra composta, a primeira letra a partir da segunda palavra deve ser escrita com letra maiúscula; String nome;  String NOME; String Nome; String nm_cliente; String nomeCliente; segue padrão? X X X 
  16. 16. Sintaxe da linguagem Java  Declaração de variáveis Date data; //data de devolução do produto X Rosicléia Frasson - 2014 Convenções  O nome de uma variável deve ser significativo, indicando claramente o que a variável representa.  Se o nome de uma variável necessita de um comentário para explicar o porquê da sua existência, ele deve ser trocado. segue padrão? Date dataDevolucaoProduto;  Date dt; X
  17. 17. Sintaxe da linguagem Java  Declaração de variáveis String cliente; X Rosicléia Frasson - 2014 Convenções  É indicado utilizar nomes que refletem o domínio em que o software será utilizado. segue padrão? String contribuinte;  String usuário; X
  18. 18. Sintaxe da linguagem Java  Declaração de variáveis  * É uma sigla conhecida Rosicléia Frasson - 2014 Convenções  As abreviações e siglas devem ser usadas com cautela. Decifrar uma abreviação adiciona um tempo extra na execução de uma tarefa.  int uv; segue padrão? String cpf; String unidadeVenda; X
  19. 19. Sintaxe da linguagem Java  Declaração de variáveis Rosicléia Frasson - 2014 Convenções  Nomes semelhantes devem ser evitados, pois podem confundir o desenvolvedor.  Não utilizar como identificadores nomes confusos que podem levar quem lê o código a conclusões erradas. double valorMultaNosDiasTranscorridos; segue padrão? double valorMultaPorDiasTranscorridos; double listaValoresPadraoMulta; X * Nomes semelhantes podem causar confusão. X X * A variável não representa uma lista.
  20. 20. Sintaxe da linguagem Java  Declaração de variáveis Rosicléia Frasson - 2014 Convenções  Identificadores de variáveis devem ser escritos no singular, exceto quando a variável representar uma coleção de dados.  É indicado utilizar nomes pronunciáveis para facilitar a leitura e comunicação. double descontos. segue padrão? double [] valoresMultasAplicadas ; String dtVlProVen;  X X String dtValidadeProdutoVendido; 
  21. 21. Sintaxe da linguagem Java  Declaração de variáveis Rosicléia Frasson - 2014 Convenções  É preferível declarar uma variável por linha, ao invés de várias na mesma linha. public class Funcionario { String nome, cpf, rg, orgaoEmissorRg, telefoneResidencial, celular, nrRegistroCNH, nomePai, nomeMae, nomeConjuge ; Date dataNascimento, dataAdmissao, dataRegistro, dataDemissao, dataVencimentoCNH, dataEmissaoRg; } public class Funcionario { String nome; Date dataNascimento; String cpf; String rg; String orgaoEmissorRg; Date dataEmissaoRg; String nomePai; String nomeMae; String nomeConjuge; String nrRegistroCNH; Date dataVencimentoCNH; String telefoneResidencial; String celular; Date dataAdmissao; Date dataRegistro; Date dataDemissao; } X 
  22. 22. Sintaxe da linguagem Java  Entrada e saída de dados Classe Scanner e objeto System.in import java.util.Scanner; public class EntradaSaidaDadosConsole { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); Rosicléia Frasson - 2014 entrada.close(); } }
  23. 23. Sintaxe da linguagem Java  Entrada e saída de dados Métodos Classe Scanner e objeto System.out System.out.println("Informe o seu nome: "); nome = entrada.nextLine(); System.out.println("Informe a sua idade: "); idade = entrada.nextInt(); System.out.println("Informe o seu peso: "); peso = entrada.nextDouble(); System.out.println(nome + ", você possui " + idade + " anos. "); System.out.print("Seu peso é "); System.out.printf("%.2f", peso); Rosicléia Frasson - 2014
  24. 24. Sintaxe da linguagem Java  Operadores básicos . Referência a método, função ou atributo de um objeto. , Separador de identificadores. ; Finalizador de declarações e comandos. [ ] Declarador de vetores e delimitador de índices. { } Separador de blocos. ( ) Lista de parâmetros. = Operador de atribuição. Rosicléia Frasson - 2014
  25. 25. Sintaxe da linguagem Java  Operadores lógicos Rosicléia Frasson - 2014 > Maior >= Maior ou igual < Menor <= Menor ou igual == Igual != Diferente && E || OU
  26. 26. Sintaxe da linguagem Java  Operador condicional ternário condição ? caso verdadeiro : caso falso Scanner entrada = new Scanner(System.in); Rosicléia Frasson - 2014 double nota; System.out.println("Informe a nota do aluno: "); nota = entrada.nextDouble(); System.out.println(nota >= 7 ? " Aluno aprovado " : " Aluno reprovado");
  27. 27. Sintaxe da linguagem Java  Operadores aritméticos Rosicléia Frasson - 2014 + Adição - Subtração * Multiplicação / Divisão % Módulo (resto da divisão)
  28. 28. Sintaxe da linguagem Java  Operadores aritméticos  Divisão de números inteiros sempre resulta em um inteiro. int dividendo = 5; int divisor = 2; double quociente = dividendo / divisor; int dividendo = 5; int divisor = 2; double quociente = dividendo / (double) divisor; Rosicléia Frasson - 2014 quociente = 2 quociente = 2.5
  29. 29. Sintaxe da linguagem Java  Operadores de incremento e decremento Rosicléia Frasson - 2014 Operador Exemplo Significado ++ ++x Incrementa a variável e depois usa. ++ x++ Usa a variável e depois incrementa. -- --x Decrementa a variável e depois usa. -- x-- Usa a variável e depois decrementa. int a = 5; int b = 3; int c = 4; int d = 7; System.out.println(a++); System.out.println(a); System.out.println(++b); System.out.println(b); System.out.println(c--); System.out.println(c); System.out.println(--d); System.out.println(d);
  30. 30. Sintaxe da linguagem Java  Operadores de atribuição Operador Exemplo Expressão equivalente += x += y x = x + y -= x -= y x = x - y *= x *= y x = x * y /= x /= y x = x / y %= x%=y x = x % y Rosicléia Frasson - 2014
  31. 31. Sintaxe da linguagem Java  Tipos primitivos e variáveis de referência Rosicléia Frasson - 2014
  32. 32. Sintaxe da linguagem Java  Pool de Strings Rosicléia Frasson - 2014
  33. 33. Sintaxe da linguagem Java  Classe String: métodos utilitários Rosicléia Frasson - 2014  equals  replace  trim  contains  lenght  toUpperCase  toLowerCase  charAt  substring  valueOf
  34. 34. Sintaxe da linguagem Java  Transformação de Strings em tipos numéricos Rosicléia Frasson - 2014 int idade = Integer.parseInt(JOptionPane.showInputDialog("Informe sua idade: ")); double peso = Double.parseDouble(JOptionPane.showInputDialog("Informe o seu peso: ")); float altura = Float.parseFloat(JOptionPane.showInputDialog("Informe sua altura: ")); long matricula = Long.parseLong(JOptionPane.showInputDialog("Informe sua matrícula: "));
  35. 35. Sintaxe da linguagem Java  Estruturas condicionais Rosicléia Frasson - 2014  Uma estrutura de condição avalia uma expressão booleana e com base no resultado (VERDADEIRO ou FALSO), o fluxo do algoritmo segue para um bloco de instruções ou não.
  36. 36. Sintaxe da linguagem Java  Comando if ... else Rosicléia Frasson - 2014 if (expressão){ bloco de comandos } else{ bloco de comandos }
  37. 37. Sintaxe da linguagem Java  Comando if ... else Rosicléia Frasson - 2014 import java.util.Scanner; public class CondicaoIfElse { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); System.out.println("Informe a média do aluno: "); double media = entrada.nextDouble(); if (media >= 7){ System.out.println("Aluno aprovado!"); }else if (media >= 4){ System.out.println("Aluno em recuperação!"); }else{ System.out.println("Aluno reprovado!"); } entrada.close(); } }
  38. 38. Sintaxe da linguagem Java  Comando switch Rosicléia Frasson - 2014 switch (expressão){ case constante1: bloco de comandos; break; case constante2: bloco de comandos; break; ••• default: bloco de comandos; }
  39. 39. Sintaxe da linguagem Java  Comando switch Rosicléia Frasson - 2014 switch (diaDaSemana) { case 1: System.out.println("Domingo"); break; case 2: System.out.println("Segunda-feira"); break; case 3: System.out.println("Terça-feira"); break; . . . case 7: System.out.println("Sábado"); break; default: System.out.println("Este não é um dia válido!"); }
  40. 40. Sintaxe da linguagem Java  Estruturas de repetição  Uma estrutura de repetição permite que um programa execute um bloco de instruções repetidamente enquanto a condição do loop continue verdadeira. Rosicléia Frasson - 2014
  41. 41. Sintaxe da linguagem Java  Comando for for (inicialização; condição; incremento){ Rosicléia Frasson - 2014 bloco de comandos; }
  42. 42. Sintaxe da linguagem Java  Comando for public class RepeticaoFor { public static void main(String[] args) { for (int num = 0; num <=10; num++){ System.out.println(num); Rosicléia Frasson - 2014 } } }
  43. 43. Sintaxe da linguagem Java  Comando while Rosicléia Frasson - 2014 while (condição){ bloco de comandos; }
  44. 44. Sintaxe da linguagem Java  Comando while public class RepeticaoWhile { public static void main(String[] args) { Rosicléia Frasson - 2014 int num = 0; while (num <= 10 ){ System.out.println(num); num++; } } }
  45. 45. Sintaxe da linguagem Java  Comando do ... while Rosicléia Frasson - 2014 do{ bloco de comandos; } while (condição);
  46. 46. Sintaxe da linguagem Java  Comando do ... while import java.util.Scanner; public class RepeticaoDoWhile { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); Rosicléia Frasson - 2014 int num; do{ System.out.println("Informe um número: "); num = entrada.nextInt(); }while(num > 0); entrada.close(); } }
  47. 47. Sintaxe da linguagem Java  Comando break  Ocasiona a saída imediata de uma instrução for, while, do ... while ou switch. public class ComandoBreak { public static void main (String args []){ for (int numero = 1; numero <= 1000; numero ++){ System.out.println("Número: "+ numero ); if (numero == 10) Rosicléia Frasson - 2014 break; } } }
  48. 48. Sintaxe da linguagem Java  Comando continue  O comando continue ignora as instruções restantes no corpo do loop e prossegue para a próxima iteração do laço.  Pode ser utilizado nas estruturas de repetição for, while e do … while. public class ComandoContinue { public static void main(String[] args) { for (int num = 0; num <= 100; num ++){ if (num % 5 != 0){ Rosicléia Frasson - 2014 continue; } System.out.println(num); } } }
  49. 49. Sintaxe da linguagem Java  Comentários  Comentário de uma linha: O uso de barra dupla marca o início do comentário que se estende até o fim da linha.  Comentário de várias linhas: Os delimitadores /* e */ indicam início e fim de um comentário e podem conter várias linhas.  Comentário javadoc: É utilizado para gerar a documentação javadoc e é delimitado pelas sequências de símbolos /** e */. Para gerar o javadoc é necessário que o comentário esteja localizado imediatamente antes da classe, atributo ou método documentado. Rosicléia Frasson - 2014
  50. 50. Sintaxe da linguagem Java  Arrays String[] nome = new String[10]; 0 1 2 3 4 5 6 7 8 9 Rosicléia Frasson - 2014 nome[0] = "Maria"; 0 1 2 3 4 5 6 7 8 9 Maria
  51. 51. Sintaxe da linguagem Java  Arrays Rosicléia Frasson - 2014 import java.util.Scanner; public class Vetor { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); String[] nome = new String[6]; for (int i = 0; i < 6; i++){ System.out.println("Informe o aluno " + i + " :"); nome[i] = entrada.nextLine(); } System.out.println("nAlunos: "); for(int i = 0; i < nome.length; i++){ System.out.println(nome[i]); } entrada.close(); } }
  52. 52. Sintaxe da linguagem Java  Comando for each  Percorre uma coleção de dados sem a utilização de um contador explícito; for ( declaração: expressão){ bloco de comandos; Rosicléia Frasson - 2014 }  Na declaração é necessário indicar o tipo de dado presente no array ou coleção e atribuir um identificador;  A expressão consiste no array ou coleção que deve ser percorrida;  A avaliação da expressão deve resultar em um objeto que implementa a interface Iterable - Collections - ou em uma instância de array.
  53. 53. Sintaxe da linguagem Java  Comando for each public class ComandoForAprimorado { public static void main(String[] args) { Rosicléia Frasson - 2014 int somaNumeros = 0; int [] numeros = {87, 45, 65, 32, 44, 26, 7, 90}; for(int numero: numeros) somaNumeros += numero; System.out.println("Soma dos elementos do vetor: " + somaNumeros); } }
  54. 54. Programação Orientada a Objetos Organização POO Rosicléia Frasson - 2014 Lógica de negócio encapsulada Simplicidade Alinhamento com o modelo de negócio Flexibilidade Redução da quantidade de código
  55. 55. Programação Orientada a Objetos  Princípios POO Rosicléia Frasson - 2014
  56. 56. Programação Orientada a Objetos  Objetos Rosicléia Frasson - 2014 Funcionário Jessica Funcionário Márcio Cupom fiscal Augusto Cupom fiscal Fernando Gerente João Supermercado Cliente Augusto Cliente Fernando Produto despertador Produto queijo Produto torrada
  57. 57. Programação Orientada a Objetos  Classe Funcionários Rosicléia Frasson - 2014 Matrícula: 1234 Nome: João da Silva Sexo: M Matrícula: 2678 Nome: Joana Monteiro Sexo: F Matrícula: 9876 Nome: Marcio Oliveira Sexo: M - Recebe aumento - Troca turno Classe Atributos Métodos
  58. 58. Programação Orientada a Objetos  Classe Rosicléia Frasson - 2014  Representação UML
  59. 59. Programação Orientada a Objetos  Classe Rosicléia Frasson - 2014  Classe Java
  60. 60. Programação Orientada a Objetos  Atributos Rosicléia Frasson - 2014
  61. 61. Programação Orientada a Objetos  Métodos Assinatura do método = nome do método + lista de parâmetros Rosicléia Frasson - 2014
  62. 62. Programação Orientada a Objetos  Métodos Os métodos com parâmetros quando invocados, obrigam o invocador a fornecer um argumento do tipo apropriado para cada um dos parâmetros declarados pelo método. Rosicléia Frasson - 2014
  63. 63. Programação Orientada a Objetos  Métodos Quando um método é invocado, o fluxo de execução passa para o método invocado e os comandos deste são executados em sequência. Um método retorna ao invocador em uma das três condições:  execução de um comando return;  o bloco de execução acaba nos casos dos métodos void;  uma exceção não capturada é lançada. Rosicléia Frasson - 2014
  64. 64. Programação Orientada a Objetos  Métodos Rosicléia Frasson - 2014
  65. 65. Programação Orientada a Objetos  Sobrecarga de métodos  Também conhecida por overloading;  Permite a existência de dois ou mais métodos com o mesmo nome, porém com variação de quantidade, tipo ou ordem de parâmetros;  Na invocação do método, o compilador escolhe o método que deve ser executado comparando os argumentos enviados com os parâmetros do método. Rosicléia Frasson - 2014
  66. 66. Programação Orientada a Objetos  Sobrecarga de métodos Rosicléia Frasson - 2014
  67. 67. Programação Orientada a Objetos  Instâncias de classes  O new aloca espaço para armazenar os campos do objeto e os inicializa.  Quando a inicialização está completa, o sistema de execução retorna uma referência ao novo objeto. Rosicléia Frasson - 2014
  68. 68. Programação Orientada a Objetos  Instâncias de classes Rosicléia Frasson - 2014 CÓDIGO JAVA Produto p1 = new Produto( ); Produto p2 = new Produto( ); Produto p3; STACK p1 @314955ec p2 @896674ae p3 null HEAP p1 p2
  69. 69. Programação Orientada a Objetos  Métodos equals e toString  O método toString retorna uma String que textualmente representa o objeto.  O método equals faz a comparação entre dois objetos e retorna o valor true se ambos ocuparem o mesmo espaço de memória. Rosicléia Frasson - 2014 (p1.equals(p)) p.toString(); (p1.equals(p)) p.toString();
  70. 70. Programação Orientada a Objetos  Construtor  A palavra chave new executa o construtor da classe.  Um construtor é um bloco declarado com o mesmo nome da classe, seguida por uma lista de parâmetros entre parênteses.  Um construtor não possui valor de retorno.  Em uma classe em que não existe um construtor declarado, a JVM cria implicitamente um construtor default. Rosicléia Frasson - 2014 (p1.equals(p)) p.toString();
  71. 71. Programação Orientada a Objetos  Construtor Rosicléia Frasson - 2014 (p1.equals(p)) p.toString();
  72. 72. Programação Orientada a Objetos  Construtor Rosicléia Frasson - 2014 (p1.equals(p)) p.toString();
  73. 73. Programação Orientada a Objetos  Construtor Rosicléia Frasson - 2014 (p1.equals(p)) p.toString();
  74. 74. Programação Orientada a Objetos  Métodos varargs public double calculaValorVenda (double ... precosProdutos){ double valorTotal = 0; for (double preco : precosProdutos) { valorTotal += preco; Rosicléia Frasson - 2014 } return valorTotal; }
  75. 75. Programação Orientada a Objetos  Atributos estáticos Classe Produto p1 p2 p3 Rosicléia Frasson - 2014 codigo: 1 nome: “arroz” preco: 2.30 codigo: 2 nome: “farinha ” preco: 1.97 codigo: 3 nome: “feijão” preco: 4.35 Variáveis de instância totalProdutos = 3 Variável estática
  76. 76. Programação Orientada a Objetos  Atributos estáticos Rosicléia Frasson - 2014
  77. 77. Programação Orientada a Objetos  Constantes Rosicléia Frasson - 2014
  78. 78. Programação Orientada a Objetos  Métodos estáticos  Métodos estáticos pertencem a uma classe e não a uma instância da mesma.  Métodos estáticos só podem operar sobre atributos estáticos.  Métodos que realizam procedimentos sem estarem vinculados a um objeto. Rosicléia Frasson - 2014
  79. 79. Programação Orientada a Objetos  Métodos estáticos Rosicléia Frasson - 2014
  80. 80. Programação Orientada a Objetos  Classe Math  Disponibiliza uma série de operações e constantes matemáticas. Math.PI - Constante PI Math.pow(a, b) - Potência na forma ab Math.sqrt(a) - Raiz quadrada de a Math.cbrt(a) - Raiz cúbica de a Math.abs(a) - Retorna o valor absoluto de a Math.min(a, b) - Retorna o menor valor Math.max(a, b) - Retorna o maior valor Math.ceil(a) - Arredonda para cima Math.floor(a) - Arrenda para baixo Rosicléia Frasson - 2014
  81. 81. Programação Orientada a Objetos  Enum  É um tipo que corresponde a um conjunto fixo de constantes.  Os ENUMs tornam o código mais explícito, mais legível, e menos vulnerável a erros de programação.  Seguindo a convenção de constantes, o identificador é escrito com todas as letras em maiúsculas. Rosicléia Frasson - 2014
  82. 82. Programação Orientada a Objetos  Enum Rosicléia Frasson - 2014
  83. 83. Programação Orientada a Objetos  Enum Rosicléia Frasson - 2014 Os enums podem ser declarados internamente em uma classe.
  84. 84. Programação Orientada a Objetos  Composição Rosicléia Frasson - 2014
  85. 85. Programação Orientada a Objetos  Composição Rosicléia Frasson - 2014
  86. 86. Programação Orientada a Objetos Rosicléia Frasson - 2014  Pacotes  Possuem como objetivo agrupar classes de funcionalidades semelhantes ou relacionadas.  Um pacote é um diretório onde ficam armazenadas classes, interfaces, subpacotes e arquivos de recursos adicionais, como imagens, usados pelas classes do pacote.  Os pacotes são correspondentes as bibliotecas em outras linguagens de programação.
  87. 87. Programação Orientada a Objetos  Declaração de pacotes  Nomes de pacotes devem ser compostos exclusivamente por letras minúsculas, não importando a quantidade de palavras que o mesmo contenha;  Os nomes de pacotes devem ser relativos a empresa que desenvolveu os mesmos.  Geralmente é utilizada a nomeação reversa de domínios, onde o início do nome do pacote é dado pela ordem inversa do nome do domínio da instituição na internet. Rosicléia Frasson - 2014
  88. 88. Programação Orientada a Objetos  Declaração de pacotes  As classes devem possuir como primeira instrução a indicação do pacote a que pertencem.  A instrução começa com a palavra chave package, seguida pelo caminho do pacote delimitado por pontos. package br.com.nomeempresa.sintaxeBasica;  Classes que não possuem a instrução package pertencem ao pacote default. Rosicléia Frasson - 2014
  89. 89. Programação Orientada a Objetos javax.swing.JOptionPane.showMessageDialog(null, "Exemplo utilização de nome plenamente qualificado do tipo"); Rosicléia Frasson - 2014  Importação de classes  Nome plenamente qualificado  Importação de pacotes import javax.swing.JOptionPane; public class Pacote { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Exemplo utilização de importação de pacote"); } }
  90. 90. Programação Orientada a Objetos Rosicléia Frasson - 2014  Pacotes JSE Pacote Funcionalidade java.lang Fornece classes que são fundamentais para a concepção da linguagem Java. É importado automaticamente. java.util Pacote utilitário. Fornece classes para trabalhar com coleções, entrada de dados (Scanner) e componentes de data e hora. java.awt Fornece classes para definir interfaces gráficas com o usuário. javax.swing Extensão do pacote java.awt. java.io Fornece classes para realizar operações de entrada e saída de dados através do sistema de fluxo de dados (streams) e serialização de objetos . java.sql Classes para acesso a base de dados via JDBC.
  91. 91. Programação Orientada a Objetos  Encapsulamento  Consiste em ocultar detalhes da implementação de um objeto do meio externo.  Apenas as funcionalidades que são importantes para as classes externas devem ser visíveis. A POO recomenda que o estado de um objeto não deve ser acessado diretamente por classes externas. Rosicléia Frasson - 2014
  92. 92. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014
  93. 93. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014  public  protected  default  private
  94. 94. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014 public Membro acessível a qualquer objeto Use para: • Construtores e métodos que devem ser acessíveis para outras classes; • Métodos e constantes estáticas. Não use para: • Construtores e métodos de uso restrito; • Campos de dados de objetos.
  95. 95. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014 protected Membro acessível a subclasses e classes do mesmo pacote. Use para: • Construtores que só devem ser chamados pelas subclasses; • Métodos que só devem ser usados se sobrepostos. Não use para: • Métodos com restrições a sobreposição • Campos de dados de objetos.
  96. 96. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014 default Ausência de modificador.  Membro acessível a classes do mesmo pacote. Use para: • Construtores e métodos que só devem ser chamados pelas classes do mesmo pacote; • Constantes estáticas úteis apenas dentro do pacote. Não use para: • Métodos cujo uso externo seja indesejado; • Campos de dados de objetos.
  97. 97. Programação Orientada a Objetos  Modificadores de acesso Rosicléia Frasson - 2014 private Membro acessível apenas dentro da própria classe. Use para: • Métodos que não devem ser acessados por membros externos; • Campos de dados de objetos;
  98. 98. Programação Orientada a Objetos  Gets e sets  Quando é usado o modificador de acesso private em um atributo, não é possível acessá-lo em outra classe. Para alterar ou recuperar o valor do mesmo, é necessário escrever dois métodos de acesso, um que retorna o valor e outro que muda o valor.  A convenção para estes métodos é colocar a palavra get ou set antes do nome do produto. Rosicléia Frasson - 2014
  99. 99. Programação Orientada a Objetos  Gets e sets Rosicléia Frasson - 2014
  100. 100. Programação Orientada a Objetos  Gets e sets Rosicléia Frasson - 2014
  101. 101. Programação Orientada a Objetos  Herança  O mecanismo de herança permite uma hierarquia entre classes;  As subclasses herdam as características e comportamentos das superclasses; O relacionamento de herança é do tipo É UM. Rosicléia Frasson - 2014
  102. 102. Programação Orientada a Objetos  Herança Pessoa Jurídica Fabricante Fornecedor Rosicléia Frasson - 2014
  103. 103. Programação Orientada a Objetos  Herança public class PessoaJuridica { } public class Fabricante extends PessoaJuridica{ } public class Fornecedor extends PessoaJuridica{ Rosicléia Frasson - 2014 }
  104. 104. Programação Orientada a Objetos  Sobrescrita de métodos  A sobrescrita de métodos é o mecanismo que permite a alteração do comportamento de uma superclasse pelas suas subclasses, ou seja, a sobrescrita de um método é uma nova implementação para o mesmo.  A sobrescrita de um método ocorre somente se a assinatura do mesmo permanece intacta, isto é, o tipo de retorno e os parâmetros devem ser os mesmos. Rosicléia Frasson - 2014
  105. 105. Programação Orientada a Objetos  Sobrescrita de métodos Rosicléia Frasson - 2014
  106. 106. Programação Orientada a Objetos  Sobrescrita de métodos  Métodos sobrepostos nunca podem ter menos acesso que os métodos originais; ƒ Se método original for public, novas versões têm que ser public; ƒ Se método original for protected, novas versões podem ser protected ou public; ƒ Se método original não tiver modificador , novas versões podem ser declaradas sem modificador de acesso, com modificador protected ou public; ƒ Se método original for private, ele não será visível da subclasse e portanto, jamais poderá ser estendido. Rosicléia Frasson - 2014
  107. 107. Programação Orientada a Objetos  Modificador final  Impede que uma classe seja extendida; Impede que um método seja sobrescrito. Rosicléia Frasson - 2014
  108. 108. Programação Orientada a Objetos  Polimorfismo  O polimorfismo permite que objetos de múltiplos tipos sejam referenciados como se fossem do tipo de sua superclasse.  Mecanismo que garante que quando um método é invocado por meio de uma referência a superclasse, em tempo de execução, a versão correta do método da subclasse é executada. Rosicléia Frasson - 2014
  109. 109. Programação Orientada a Objetos  Classe abstrata  Uma classe abstrata não pode ser instanciada.  As classes abstratas possuem métodos concretos e métodos abstratos. Os métodos abstratos são compostos apenas pela assinatura, ou seja, não possuem implementação.  Quando uma subclasse concreta extende uma classe abstrata, todos os métodos abstratos obrigatoriamente devem ser implementados. Rosicléia Frasson - 2014
  110. 110. Programação Orientada a Objetos  Classe abstrata Rosicléia Frasson - 2014
  111. 111. Programação Orientada a Objetos  Classe abstrata Rosicléia Frasson - 2014
  112. 112. Programação Orientada a Objetos  Interface  Possui como propósito forçar uma subclasse a reescrever todos os métodos abstratos, definindo um comportamento para o mesmo. As interfaces possuem apenas métodos abstratos.  Uma interface não possui atributos. Apenas variáveis estáticas e constantes. A implementação de uma interface por uma classe indica um relacionamento do tipo É UM com a interface. Uma classe pode implementar mais de uma interface. Rosicléia Frasson - 2014
  113. 113. Programação Orientada a Objetos  Interface Rosicléia Frasson - 2014
  114. 114. Programação Orientada a Objetos  Interface Rosicléia Frasson - 2014
  115. 115. Programação Orientada a Objetos  Classes Wrappers Rosicléia Frasson - 2014
  116. 116. Programação Orientada a Objetos  Classes Wrappers  Fornecem um mecanismo para empacotar valores primitivos em um tipo objeto, para que estes sejam inclusos em atividades reservadas a objetos; Fornecem um conjunto de funções utilitárias para os tipos primitivos como as conversões de tipos primitivos em String e vice-versa. Rosicléia Frasson - 2014
  117. 117. Programação Orientada a Objetos  Classes Wrappers  As classes Wrappers , exceto a Character, possuem dois construtores: um que recebe o tipo primitivo correspondente como argumento e o outro que recebe uma String como argumento. Double d1 = new Double(1.0); Double d2 = new Double("1.0"); Integer i1 = new Integer(3); Integer i2 = new Integer("6"); Rosicléia Frasson - 2014
  118. 118. Programação Orientada a Objetos  Classes Wrappers  As classes Wrappers fornecem métodos para conversão de uma String em um tipo primitivo correspondente. int idade = Integer.parseInt(JOptionPane.showInputDialog ("Informe a idade"));  Cada classe wrapper fornece um método que retorna o tipo primitivo por ela encapsulado. Rosicléia Frasson - 2014 Integer a; int b = a.intValue();
  119. 119. Collections Rosicléia Frasson - 2014
  120. 120. Collections  Listas: java.util.List Uma lista é uma coleção que permite elementos duplicados e mantém uma ordenação específica entre os elementos.  Os elementos ficam dispostos na lista na ordem em que foram inseridos.  A lista resolve os problemas do array: tamanho infinito, inserção, remoção. Rosicléia Frasson - 2014
  121. 121. Collections  Listas: java.util.List ArrayList<String> arrayList = new ArrayList(); LinkedList<String> linkedList = new LinkedList(); Vector<String> vector = new Vector(); Rosicléia Frasson - 2014
  122. 122. Collections  Listas O método add adiciona um elemento no fim da lista. Rosicléia Frasson - 2014 lista.add(p); System.out.println(lista.size()); O método size retorna a quantidade de elementos que a lista possui.
  123. 123. Collections  Listas: Array List Rosicléia Frasson - 2014 lista.remove(p); lista.contains(p); O método remove retira um elemento da lista. O método contains verifica se um elemento está na lista.
  124. 124. Collections  Listas: Array List  O ArrayList possui acesso aleatório aos seus elementos. Sendo assim, a busca de um elemento é feita de forma imediata, sem que a lista inteira seja percorrida. Rosicléia Frasson - 2014
  125. 125. Collections  Método sort  O método sort recebe um List como argumento e ordena em ordem crescente. arrayList.add("Ana"); arrayList.add("Maria"); arrayList.add("Joana"); arrayList.add("Zenilda"); arrayList.add("Karla"); Collections.sort(arrayList); Para efetuar a ordenação um objeto precisa implementar a interface Comparable que define o método compareTo. Rosicléia Frasson - 2014
  126. 126. Collections  Métodos Collections  binarySearch(List, Object): Realiza uma busca binária por determinado elemento na lista ordenada e retorna sua posição ou um número negativo, caso não encontrado. arrayList.add("Ana"); arrayList.add("Maria"); arrayList.add("Joana"); arrayList.add("Zenilda"); arrayList.add("Karla"); int indice = Collections.binarySearch(arrayList, "Maria"); System.out.println(indice); Rosicléia Frasson - 2014
  127. 127. Collections  Métodos Collections  max(Collection): Retorna o maior elemento da coleção. ArrayList numeros = new ArrayList(); numeros.add(1); numeros.add(4); numeros.add(56); numeros.add(7); int maior = Collections.max(numeros); System.out.println("Maior: "+ maior); Rosicléia Frasson - 2014
  128. 128. Collections  Métodos Collections  min(Collection): Retorna o menor elemento da coleção. ArrayList numeros = new ArrayList(); numeros.add(-1); numeros.add(4); numeros.add(-56); numeros.add(-7); int menor = Collections.min(numeros); System.out.println("Menor: "+ menor); Rosicléia Frasson - 2014
  129. 129. Collections  Métodos Collections reverse(List): Inverte a lista. arrayList.add("Ana"); arrayList.add("Maria"); arrayList.add("Joana"); arrayList.add("Zenilda"); arrayList.add("Karla"); Collections.reverse(arrayList); Rosicléia Frasson - 2014
  130. 130. Collections  java.util.Set  Um conjunto Set não permite elementos duplicados.  Os elementos possuem uma forma especial de ordenação. Collection<Integer> numeros = new HashSet(); numeros.add(1); numeros.add(5); numeros.add(66); Rosicléia Frasson - 2014
  131. 131. Collections  Performance List X Set Collection<Integer> colecao = new HashSet<Integer>(); long tempoInicial = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { Rosicléia Frasson - 2014 colecao.add(i); } for (int i = 0; i < 100000; i++) { colecao.contains(i); } long tempoFinal = System.currentTimeMillis(); System.out.printf("Tempo em milisegundos: ", (tempoFinal - tempoInicial));
  132. 132. Exceptions  Stacktrace Rosicléia Frasson - 2014 terceiroMetodo segundoMetodo primeiroMetodo main Pilha de execução Método com erro
  133. 133. Exceptions Rosicléia Frasson - 2014
  134. 134. Exceptions  Tratamento de exceção  O Java possui dois tipos de exceções: unchecked: o compilador não checa se a exceção está sendo tratada. checked: o compilador checa se a exceção está devidamente tratada. Rosicléia Frasson - 2014
  135. 135. Exceptions  Tratamento de exceção Rosicléia Frasson - 2014
  136. 136. Exceptions  Tratamento de exceção Rosicléia Frasson - 2014
  137. 137. Exceptions  Criação de um tipo de exceção Rosicléia Frasson - 2014
  138. 138. Java.io  API Java.io  Consiste em uma hierarquia de classes responsáveis pelo controle de entrada e saída de dados. Rosicléia Frasson - 2014
  139. 139. Java.io  Classe File  A classe File lida diretamente com arquivos e sistema de arquivos. Rosicléia Frasson - 2014
  140. 140. Java.io  Classe File  A classe File também possibilita a criação de arquivos e diretórios, bem como a remoção dos mesmos. Rosicléia Frasson - 2014
  141. 141. IO  Fluxo de bytes Rosicléia Frasson - 2014  Saída de dados
  142. 142. IO  Fluxo de bytes Rosicléia Frasson - 2014  Entrada de dados
  143. 143. IO Rosicléia Frasson - 2014
  144. 144. IO  Fluxo de caracteres  O fluxo de caracteres foi adicionado no Java 5 e fornecem um meio para entrada e saída de caracteres.  As classes abstratas Reader e Writer representam as superclasses da hierarquia de classes responsáveis pelo fluxo de caracteres.  Reader é usada para leitura de dados e Writer para saída.  As classes da hierarquia trabalham com caracteres Unicode. Rosicléia Frasson - 2014
  145. 145. IO  Classe Reader Rosicléia Frasson - 2014
  146. 146. IO  Classe Reader Rosicléia Frasson - 2014
  147. 147. IO  Classe Writer Rosicléia Frasson - 2014
  148. 148. IO  Classe Writer Rosicléia Frasson - 2014
  149. 149. Banco de dados e JDBC Rosicléia Frasson - 2014  Modelo relacional
  150. 150. Banco de dados e JDBC Rosicléia Frasson - 2014  Modelo relacional  Entidades : São objetos do mundo real dentro do domínio da aplicação.  Atributos: São as propriedades que descrevem as entidades.  Chaves: São atributos ou conjuntos de atributos que permitem identificar sem ambiguidade cada instância de uma entidade, ou seja, garante a distinção entre as ocorrências das entidades.  Relacionamentos: São associações entre duas entidades ou entre uma entidade e ela mesma.
  151. 151. Banco de dados e JDBC Rosicléia Frasson - 2014  Relacionamentos  Um-para-um
  152. 152. Banco de dados e JDBC Rosicléia Frasson - 2014  Relacionamentos  Um-para-muitos
  153. 153. Banco de dados e JDBC Rosicléia Frasson - 2014  Relacionamentos  Muitos para muitos
  154. 154. Banco de dados e JDBC Rosicléia Frasson - 2014  SQL SQL Strutured Query Language DDL Data Definition Language DML Data Manipulation Language
  155. 155. Banco de dados e JDBC  SQL - DDL (Data Definition Language) Rosicléia Frasson - 2014
  156. 156. Banco de dados e JDBC  SQL - DML (Data Manipulation Language) Rosicléia Frasson - 2014
  157. 157. Banco de dados e JDBC Rosicléia Frasson - 2014
  158. 158. Banco de dados e JDBC Rosicléia Frasson - 2014
  159. 159. SVN Rosicléia Frasson - 2014

×