Formação Java

Curso Java e Orientação a Objetos

  • Linguagem Java e sua sintaxe;
  • Orientação a Objetos através de problemas práticos;
  • Collections, Generics, ferramentas e produtividade;
  • Principais APIs da plataforma Java;
  • Programe no Eclipse, a principal IDE do mercado;
  • Conteúdo essencial para o futuro da sua carreira Java;
  • Aprenda conceitos importantes de forma didática e fácil;
  • O curso mais procurado da Caelum!

Sobre o curso FJ-11

Aprenda Java e quebre o paradigma procedural! Você será apresentando aos poucos a problemas e soluções através da orientação a objetos. Durante o curso aprende-se também os recursos da poderosa plataforma do Eclipse, a IDE líder de mercado.

Ao final você estará apto a desenvolver seus sistemas utilizando o paradigma da orientação a objetos, trabalhar com as facilidades do Java 8 e do Eclipse, e também estará preparado para desvendar qualquer outra biblioteca disponível, baseando-se na documentação de APIs. Tenha uma base sólida no curso de Java mais reconhecido do mercado!

Veja também a ementa detalhada do curso.

Pré-requisitos

Conhecimento de lógica de programação e alguma linguagem de programação, como PHP, C, Delphi, ASP, Ruby etc.

40horas aula

A opinião de quem fez

Aprender exatamente o que é uma linguagem Orientada a Objetos foi o meu objetivo neste curso, e esse foi seu ponto alto

Wesley Alves Silva

A professora foi muito boa, a didática foi perfeita, ela deu atenção a todos os alunos, respondeu todas as dúvidas, foi muito prestativa.

Camila Pontes Brito da Costa, Florianópolis-SC

Gostaria de agradecer ao Professor e a todos os envolvidos da Caelum, o curso atendeu as minhas expectativas e espero que consiga colocar em prática, na minha vida profissional, tudo que foi aprendido. Parabéns a Caelum!

Caio Zannon Geraldini

Próximas turmas

DataPeríodoCidadeComentário
26/07 a 23/08Sábado (9h às 17h)Rio de Janeiro Lista de Espera!
28/07 a 08/08Noturno (19h às 23h)São Paulo Turma com desconto especial
09/08 a 06/09Sábado (9h às 17h)São Paulo Turma com duas vagas!
18/08 a 29/08Noturno (19h às 23h)Brasília
18/08 a 22/08Integral (9h às 17h)São Paulo Com vagas!
25/08 a 05/09Manhã (8h30 às 12h30)Rio de Janeiro Inscrições abertas.
01/09 a 12/09Noturno (18h às 22h)Rio de Janeiro Inscrições abertas.
27/09 a 25/10Sábado (9h às 17h)Brasília

Não achou a turma ideal pra você? Entre em contato e consulte outras turmas e horários.

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Como Aprender Java

  1. O que é realmente importante?
  2. Sobre os exercícios
  3. Tirando dúvidas e indo além

O que é Java

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

Variáveis primitivas e Controle de fluxo

  1. Declarando e usando variáveis
  2. Tipos primitivos e valores
  3. Exercícios: Variáveis e tipos primitivos
  4. Discussão em aula: convenções de código e código legível
  5. Casting e promoção
  6. O if e o else
  7. O While
  8. O For
  9. Controlando loops
  10. Escopo das variáveis
  11. Um bloco dentro do outro
  12. Para saber mais
  13. Exercícios: Fixação de sintaxe
  14. Desafios: Fibonacci

Orientação a objetos básica

  1. Motivação: problemas do paradigma procedural
  2. Criando um tipo
  3. Uma classe em Java
  4. Criando e usando um objeto
  5. Métodos
  6. Métodos com retorno
  7. Objetos são acessados por referências
  8. O método transfere()
  9. Continuando com atributos
  10. Para saber mais: Uma Fábrica de Carros
  11. Um pouco mais...
  12. Exercícios: Orientação a Objetos
  13. Desafios
  14. Fixando o conhecimento

Um pouco de arrays

  1. O problema
  2. Arrays de referências
  3. Percorrendo uma array
  4. Percorrendo uma array no Java 5.0
  5. Exercícios: Arrays
  6. Um pouco mais...
  7. Desafios
  8. Testando o conhecimento

Modificadores de acesso e atributos de classe

  1. Controlando o acesso
  2. Encapsulamento
  3. Getters e Setters
  4. Construtores
  5. A necessidade de um construtor
  6. Atributos de classe
  7. Um pouco mais...
  8. Exercícios: Encapsulamento, construtores e static
  9. Desafios

Herança, reescrita e polimorfismo

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

Eclipse IDE

  1. O Eclipse
  2. Apresentando o Eclipse
  3. Views e Perspective
  4. Criando um projeto novo
  5. Criando o main
  6. Executando o main
  7. Pequenos truques
  8. Exercícios: Eclipse
  9. Discussão em aula: Refactoring

Classes Abstratas

  1. Repetindo mais código?
  2. Classe abstrata
  3. Métodos abstratos
  4. Aumentando o exemplo
  5. Para saber mais...
  6. Exercícios: Classes Abstratas
  7. Desafios

Interfaces

  1. Aumentando nosso exemplo
  2. Interfaces
  3. Dificuldade no aprendizado de interfaces
  4. Exemplo interessante: conexões com o banco de dados
  5. Exercícios: Interfaces
  6. Exercícios avançados opcionais
  7. Discussão: favoreça composição em relação à herança

Exceções e controle de erros

  1. Motivação
  2. Exercício para começar com os conceitos
  3. Exceções de Runtime mais comuns
  4. Outro tipo de exceção: Checked Exceptions
  5. Um pouco da grande família Throwable
  6. Mais de um erro
  7. Lançando exceções
  8. O que colocar dentro do try?
  9. Criando seu próprio tipo de exceção
  10. Para saber mais: finally
  11. Exercícios: Exceções
  12. Desafios
  13. Discussão em aula: catch e throws em Exception

Pacotes - Organizando suas classes e bibliotecas

  1. Organização
  2. Diretórios
  3. Import
  4. Acesso aos atributos, construtores e métodos
  5. Usando o Eclipse com pacotes
  6. Exercícios: Pacotes

Ferramentas: jar e javadoc

  1. Arquivos, bibliotecas e versões
  2. Gerando o JAR pelo Eclipse
  3. Javadoc
  4. Gerando o Javadoc
  5. Exercícios: Jar e Javadoc

O pacote java.lang

  1. Pacote java.lang
  2. Um pouco sobre a classe System
  3. java.lang.Object
  4. Casting de referências
  5. Métodos do java.lang.Object: equals e toString
  6. Integer e classes wrappers (box)
  7. Autoboxing no Java 5.0
  8. java.lang.String
  9. java.lang.Math
  10. Exercícios: java.lang
  11. Desafio
  12. Discussão em aula: O que você precisa fazer em Java?

Pacote java.io

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

Collections framework

  1. Arrays são trabalhosos, utilizar estrutura de dados
  2. Listas: java.util.List
  3. Listas no Java 5 e Java 7 com Generics
  4. A importância das interfaces nas coleções
  5. Ordenação: Collections.sort
  6. Exercícios: Ordenação
  7. Conjunto: java.util.Set
  8. Principais interfaces: java.util.Collection
  9. Percorrendo coleções no Java 5
  10. Para saber mais: Iterando sobre coleções com java.util.Iterator
  11. Mapas - java.util.Map
  12. Para saber mais: Properties
  13. Para saber mais: Equals e HashCode
  14. Para saber mais: Boas práticas
  15. Exercícios: Collections
  16. Desafios
  17. Para saber mais: Comparators, classes anônimas, Java 8 e o lambda

Programação Concorrente e Threads

  1. Threads
  2. Escalonador e trocas de contexto
  3. Garbage Collector
  4. Exercícios
  5. E as classes anônimas?

E agora?

  1. Web
  2. Praticando Java e usando bibliotecas
  3. Grupos de Usuários
  4. Próximos cursos

Apêndice - Sockets

  1. Motivação: uma API que usa os conceitos aprendidos
  2. Protocolo
  3. Porta
  4. Socket
  5. Servidor
  6. Cliente
  7. Imagem geral
  8. Exercícios: Sockets
  9. Desafio: Múltiplos Clientes
  10. Desafio: broadcast das mensagens
  11. Solução do sistema de chat

Apêndice - Problemas com concorrência

  1. Threads acessando dados compartilhados
  2. Controlando o acesso concorrente
  3. Vector e Hashtable
  4. Um pouco mais...
  5. Exercícios avançados de programação concorrente e locks

Apêndice - Instalação do Java

  1. Instalando no Ubuntu e em outros Linux
  2. No Mac OS X
  3. Instalação do JDK em ambiente Windows

Apêndice - Debugging

  1. O que é debugar
  2. Debugando no Eclipse
  3. Perspectiva de debug
  4. Debug avançado
  5. Profiling
  6. Profiling no Eclipse TPTP


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