Logar
Evento
/

FJ-11 | Java e Orientação a Objetos (Noturno)

FJ-11 | Java e Orientação a Objetos (Noturno)

Banner - FJ-11 | Java e Orientação a Objetos (Noturno)
Mostrar
  • De 20/08 às 18:00 até: 31/08 às 22:00
  • Rua do Ouvidor 50 - Sobreloja 201 - Centro - Rio de Janeiro/Rio de Janeiro - Brasil

Descrição

O intuito do curso é quebrar o paradigma procedural, apresentando aos poucos seus problemas e as soluções através da orientação a objetos. Introduz a linguagem Java apresentando e ensinando suas vantagens, boas práticas e convenções de código. Durante o curso aprende-se também os recursos da poderosa plataforma do Eclipse 3, a IDE líder de mercado.

 

Ao final do curso, você estará apto a desenvolver seus sistemas utilizando o paradigma da orientação a objetos, utilizar as facilidades do Java 7 e do Eclipse, e também estará preparado para desvendar qualquer outra biblioteca disponível, baseando-se na documentação de sua API, seja para gerar relatórios em PDF ou gráficos de torta 3D.

 

Esse curso faz parte da Formação Consultor Java junto com o FJ-16 e o FJ-21.

 

 

Pré-requisitos:

Lógica de programação e conhecimento de alguma linguagem de programação (Visual Basic, Delphi, C, PHP, ASP, etc)

 

 

Conteúdo Detalhado:

 

Como Aprender Java

   

  • O que é realmente importante?
  • Sobre os exercícios
  • Tirando dúvidas
  • Bibliografia

 

O que é Java

   

  • Java
  • Uma breve história do Java
  • Máquina Virtual
  • Java lento? Hotspot e JIT
  • Versões do Java e a confusão do Java2
  • JVM? JRE? JDK? O que devo baixar?
  • Onde usar e os objetivos do Java
  • Especificação versus implementação
  • Como o FJ-11 está organizado
  • Compilando o primeiro programa
  • Executando seu primeiro programa
  • O que aconteceu?
  • Para saber mais: como é o bytecode?
  • Exercícios: Modificando o Hello World
  • O que pode dar errado?
  • Um pouco mais...
  • Exercícios adicionais

 

Variáveis primitivas e Controle de fluxo

   

  • Declarando e usando variáveis
  • Tipos primitivos e valores
  • Exercícios: Variáveis e tipos primitivos
  • Discussão em aula: convenções de código e código legível
  • Casting e promoção
  • O If-Else
  • O While
  • O For
  • Controlando loops
  • Escopo das variáveis
  • Um bloco dentro do outro
  • Para saber mais
  • Exercícios: Fixação de sintaxe
  • Desafios: Fibonacci

 

Orientação a objetos básica

   

  • Motivação: problemas do paradigma procedural
  • Criando um tipo
  • Uma classe em Java
  • Criando e usando um objeto
  • Métodos
  • Métodos com retorno
  • Objetos são acessados por referências
  • O método transfere()
  • Continuando com atributos
  • Para saber mais: Uma Fábrica de Carros
  • Um pouco mais...
  • Exercícios: Orientação a Objetos
  • Desafios
  • Fixando o conhecimento

 

Um pouco de arrays

   

  • O problema
  • Arrays de referências
  • Percorrendo uma array
  • Percorrendo uma array no Java 5.0
  • Exercícios: Arrays
  • Um pouco mais...
  • Desafios
  • Testando o conhecimento

 

Modificadores de acesso e atributos de classe

   

  • Controlando o acesso
  • Encapsulamento
  • Getters e Setters
  • Construtores
  • A necessidade de um construtor
  • Atributos de classe
  • Um pouco mais...
  • Exercícios: Encapsulamento, construtores e static
  • Desafios

 

Orientação a Objetos - herança, reescrita e polimorfismo

   

  • Repetindo código?
  • Reescrita de método
  • Invocando o método reescrito
  • Polimorfismo
  • Um outro exemplo
  • Um pouco mais...
  • Exercícios: Herança e Polimorfismo
  • Discussões em aula: Alternativas ao atributo protected

 

Eclipse IDE

   

  • O Eclipse
  • Apresentando o Eclipse
  • Views e Perspective
  • Criando um projeto novo
  • Criando o main
  • Rodando o main
  • Pequenos truques
  • Exercícios: Eclipse
  • Discussão em aula: Refactoring

 

Orientação a Objetos - Classes Abstratas

   

  • Repetindo mais código?
  • Classe abstrata
  • Métodos abstratos
  • Aumentando o exemplo
  • Para saber mais...
  • Exercícios: Classes Abstratas
  • Desafios

 

Orientação a Objetos - Interfaces

   

  • Aumentando nosso exemplo
  • Interfaces
  • Dificuldade no aprendizado de interfaces
  • Exemplo interessante: conexões com o banco de dados
  • Um pouco mais...
  • Exercícios: Interfaces
  • Exercícios avançados opcionais
  • Discussão em aula: Favorecer composição em relação à herança

 

Controlando os erros com Exceções

   

  • Motivação
  • Exercício para começar com os conceitos
  • Exceções de Runtime mais comuns
  • Outro tipo de exceção: Checked Exceptions
  • Um pouco da grande famíla Throwable
  • Mais de um erro
  • Lançando exceções
  • O que colocar dentro do try?
  • Criando seu próprio tipo de exceção
  • Para saber mais: finally
  • Exercícios: Exceções
  • Desafios
  • Discussão em aula: catch e throws em Exception

 

Pacotes - Organizando suas classes e bibliotecas

   

  • Organização
  • Diretórios
  • Import
  • Acesso aos atributos, construtores e métodos
  • Usando o Eclipse com pacotes
  • Exercícios: Pacotes

 

Ferramentas: jar e javadoc

   

  • Arquivos, bibliotecas e versões
  • Gerando o JAR pelo Eclipse
  • Javadoc
  • Gerando o Javadoc
  • Exercícios: Jar e Javadoc

 

O pacote java.lang

   

  • Pacote java.lang
  • Um pouco sobre a classe System
  • java.lang.Object
  • Casting de referências
  • Métodos do java.lang.Object: equals e toString
  • Integer e classes wrappers (box)
  • Autoboxing no Java 5.0
  • java.lang.String
  • java.lang.Math
  • Exercícios: java.lang
  • Desafio
  • Discussão em aula: O que você precisa fazer em Java?

 

Pacote java.io

   

  • Conhecendo uma API
  • Orientação a objetos no java.io
  • InputStream, InputStreamReader e BufferedReader
  • Lendo Strings do teclado
  • A analogia para a escrita: OutputStream
  • Uma maneira mais fácil: Scanner e PrintStream
  • Um pouco mais...
  • Exercícios: Java I/O
  • Discussão em aula: Design Patterns e o Template Method

 

Collections framework

   

  • Arrays são trabalhosos, utilizar estrutura de dados
  • Listas: java.util.List
  • Listas no Java 5 e Java 7 com Generics
  • A importância das interfaces nas coleções
  • Ordenação: Collections.sort
  • Exercícios: Ordenação
  • Conjunto: java.util.Set
  • Principais interfaces: java.util.Collection
  • Percorrendo coleções no Java 5
  • Para saber mais: Iterando sobre coleções com java.util.Iterator
  • Mapas - java.util.Map
  • Para saber mais: Properties
  • Para saber mais: Equals e HashCode
  • Para saber mais: Boas práticas
  • Exercícios: Collections
  • Desafios

 

Programação Concorrente e Threads

   

  • Threads
  • Escalonador e trocas de contexto
  • Garbage Collector
  • Para saber mais: problemas com concorrência
  • Para saber mais: Vector e Hashtable
  • Um pouco mais...
  • Exercícios
  • Exercícios avançados de programação concorrente e locks

 

E agora?

   

  • Praticando Java e usando bibliotecas
  • Web
  • Certificação
  • Revistas
  • Grupos de Usuários
  • Falando em Java - Próximos módulos

 

Apêndice - Sockets

   

  • Motivação: uma API que usa os conceitos aprendidos
  • Protocolo
  • Porta
  • Socket
  • Servidor
  • Cliente
  • Imagem geral
  • Exercícios: Sockets
  • Desafio: Múltiplos Clientes
  • Desafio: broadcast das mensagens
  • Solução do sistema de chat

 

Apêndice - Instalação do Java

   

  • Instalando no Ubuntu e em outros Linux
  • No Mac OS X
  • Instalação do JDK em ambiente Windows

 

Apêndice - Debugging

   

  • O que é debugar
  • Debugando no Eclipse
  • Perspectiva de debug
  • Debug avançado
  • Profiling
  • Profiling no Eclipse TPTP

 

* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

 

 

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.