CURSO PREPARATÓRIO PARA A CERTIFICAÇÃO PROGRAMADOR JAVA 5.0
CARGA HORÁRIA - 46 hs (quarenta e seis horas)

Módulo 1:
Objetivos da Certificação : mostrar o foco de estudo e o formato do curso para o aluno
Declaração e Controle de Acesso:
- Identificadores e JavaBeans: convenções Java da Sun para JavaBeans.
- Identificadores Legais: convenções.
- Declaração de Classes: revisão de declaração de classes, modificadores de acesso (visibilidade),
modificadores da classe (final, abstract) e objetivos para certificação.
- Classes Abstratas: regras para criação de classes abstratas e classes concretas.
- Interfaces: declaração de Interfaces, e constantes de interface.

Exercícios da certificação: exercícios da preparação para certificação.

Módulo 2:
Declaração e Controle de Acesso:
- Declaração de membros de classes: revisão sobre métodos e atributos.
- Modificadores de acesso: public, privado, detalhes padrão e detalhes protegido
- Modificadores de membro: final, abstract, syncronized, native, strictfp, var-args (métodos com lista de
argumentos variáveis)
- Declaração de Construtores
- Declaração e variáveis: primitivas, referências, de instância, locais, arrays, finais, transientes, voláteis e estáticas.
- Enums: lista enumerada. Construtor, métodos e variáveis.

Exercícios da certificação: exercícios da preparação para certificação.


Módulo 3:
Orientação a Objetos
- Encapsulamento: benefícios e objetivos
- Herança: conceitos
- Relacionamentos: é um, tem um
- Polimorfismo
- Sobrescrita de métodos: definição, chamando a implementação da superclasse de um método sobrescrito
- Sobrecarga de métodos: definição, chamada e polimorfismo em métodos sobrecarregados.
- Conversão de variáveis de referência: type casting.
- Interfaces: construção/implementação
- Tipos de Retorno: definição, retornos válidos e sobrecarga de métodos focando em tipos de retorno
- Construtores e Instanciação: definição, regras de construção , identificar quando construtor será criado.

Exercícios da certificação: exercícios da preparação para certificação.

Módulo 4:
Atribuiçoes : manipulando e declarando variáveis. Objetivos da Certificação.
- Literais Atribuições e Variáveis: tipos primitivos e tipos de referência.
- Variáveis de Instância Primitiva e Objeto: declaração e uso.
- Variáveis de Instância de Array: quando usar e formas de uso.
- Tipos primitivos e tipos locais: de pulha e automáticos.
- Objetos locais
- Arrays Locais
- Passagem de variáveis para métodos: como fazer e quais tipos. Cuidados ao tomar em cada forma de
passagem.
- Passando variáveis de referência de objeto
- Passagem de valor ou de referência ?
- Variáveis escondidas: escopo de variáveis.
- Declaração, construção e inicialização de Arrays: arrays de tipos primitivos, objeto, unidimencional e
multidimensional.
- Classes Wrapper: o que são e como são usados para representar um primitivo.
- Utilitários de conversão dos Wrappers
- Autoboxing: definição e uso.
- Sobrecargas difícies: usando ampliação, autoboxing e var-args.
- Coleta de lixo: visão geral do coletor de lixo, escrevendo métodos para explicitar a qualificação de
coleta a objetos.

Exercícios da certificação: exercícios da preparação para certificação.


Módulo 5 :
Operadores : definição, como declarar e uso.
- Operadores Java: de atribuição e compostos.
- Operadores de Comparação.
- Operadores de Igualdade: tipos primitivos, variáveis de referência e enums. Operador instanceOf
- Operadores aritméticos

Resumo para certificação das Módulos anteriores (4 hrs): revisão e aplicar exercícios


Módulo 6
:
Controle de Fluxos, exceções e assertivas : revisão.
- Condicionais if e switch: revisão.
- Loops e iterações: while, do e for.
- Loop for: declaração inicial, condicional e incremental. O for aprimorado (para Arrays)
- Manipulação de Exceções: try/catch/finally, throw e throws.
- Criando uma exceção.
- Hierarquia de exceções: exceções checked e unchecked.
- Erros e exceções comuns: de onde vêm, exceções lançadas pela VM e programaticamente.
Trabalhando com mecanismo de assertivas: objetivos e aplicações
- Visão geral: quando utilizar e quais benefícios.
- Ativando: quando e como ativar.
- Produção/Desenvolvimento: o comportamento das assertivas em ambientes de execução diferentes.
- Usando assetivas apropriadamente: quando usar e quando não usar assertivas.

Exercícios da certificação: exercícios da preparação para certificação.

Módulo 7
Strings, E/S, Formatação e Parsing
- String, StringBuilder e StringBuffer: String e a memória, deferenciamento de tratamento.
StringBuilderXStringBuffer. Métodos importantes
- Mecanismo de E/S para arquivos: criando, acessando e atualizando arquivos. Trabalhando com arquivos
e diretórios.
- Serialização: visão geral
- ObjectOutputStream/ObjectInputStream
- Influência da Herança na serialização.
- Incompatibilidade de serialização para estáticos.
- Data, Números e Moeda: Date, Calendar, DateFormat, Locale e NumberFormat.
- Parsing, Tokenização e Formatação
- Tutorial de busca: simples, metacaracteres, qualificadores, correspondência de padrões.
- Tokenização
- Formatação: printf e format.
Módulo 8
Genéricos e Conjuntos (Collection)
- Importância da sobrescrita de hashCode() e equals() : qual a influência de um bom desenvolvimentos
destes métodos para Conjuntos.
- Conjuntos: visão geral. Qual o uso, Interfaces e classes chaves.
- Interface List: uso e particularidades.
- Interface Map: uso e particularidades.
Usando a estrutura de Conjuntos.
- Fundamentos de ArrayList
- Autoboxing com conjuntos
- Classificando Cojuntos e Arrays: busca, ordenação, comparação (interface Comparable)
- Usando Lists,Sets e Maps: quando usar, como usar e exemplos.
- Classe PriorityQueue.
- Polimorfismo e Genéricos: métodos Genéricos, declaração

Exercícios da certificação.

Módulo 9:
Inner Classes – Classes Internas
- Codificando um classe interna comum: criando e usando uma inner-class.
- Referenciando instâncias internas ou internas: como fazer referencias a partir do escopo da inner-class
a instâncias internas e externas.
- Classes internas locais de métodos: criando e usando classes declaradas dentro de métodos.
- Classes estáticas aninhadas
Threads
- Definindo, instanciando e iniciando threads: estendendo threads, runnable e agendador de threads.
- Estados e transições de threads: ciclo de vida, impedindo a execução, suspendendo e priorizando
- Intereção entre Threads: notifyAll(), wait() em loop.

Exercícios de fixação e certificação.

Bibliografia Básica

1 - Será fornecido ao aluno uma Apostila de 200 (duzentas) páginas, que foi elaborada tendo como base o Livro ” SCJP: Certificação Sun para Programador Java 5 - Exame 310-055”
dos autores KATHY SIERRA /BERT BATES - Editora Alta Books

2 - Exercícios Simulados para fazer em casa, em Inglês + CD exercícios

3 - "SIMULADOS-PROVA" serão aplicados 3 (três) SIMULADOS-PROVA com tempo limitado, reproduzindo o ambiente do Exame que o aluno deve fazer.