Java COMPLETO Programação Orientada a Objetos + Projetos

Curso mais didático e completo de Java e OO, UML, JDBC, JavaFX, Spring Boot, JPA, Hibernate, MySQL, MongoDB e muito mais

4.81 (52199 reviews)
Udemy
platform
Português
language
Programming Languages
category
instructor
Java COMPLETO Programação Orientada a Objetos + Projetos
151,409
students
54.5 hours
content
Apr 2024
last update
$84.99
regular price

What you will learn

Dominar Programação Orientada a Objetos e linguagem Java

Criar soluções flexíveis, extensíveis e testáveis

Adquirir a base sólida teórica e prática para ser um desenvolvedor Java de sucesso

Aplicar o conhecimento de orientação a objetos na construção de soluções para problemas reais

Compreender diagramas de classe UML, tanto de entidades quanto de serviços

Desenvolver aplicações para desktop com interface gráfica

Construir web services usando Spring Boot e boas práticas

Acessar banco de dados relacionais com comandos SQL (JDBC) e também com ORM (JPA/Hibernate)

Acessar banco de dados NoSQL

Why take this course?

O QUE VOCÊ VAI APRENDER NESTE CURSO?

Bem-vindos ao melhor e mais completo curso de Java da Internet, líder absoluto de mercado!

Este é o único curso em que você vai contar não só com vídeo aulas, mas também com material de apoio específico para TODOS capítulos, inúmeros exercícios resolvidos e também exercícios propostos com correção, cobertura de aspectos de design com diagramas UML, e a melhor didática baseada na associação aula / conteúdo do material de apoio / versões do Github.

O curso é 100% compatível com a versão LTS (Long Term Support) atual do Java.

Com minha experiência de mais de 20 anos trabalhando e ensinando Java profissionalmente, eu elaborei exatamente o passo a passo para te levar do zero até o nível avançado de programação em Java! Você vai aprender tudo sobre programação orientada a objetos utilizando Java,  desde o básico, com exemplos bem simples e didáticos, e daí vamos gradualmente avançando, até mergulharmos em tópicos avançados. Os tópicos de programação incluem:

  • Lógica de programação e algoritmos

  • Sintaxe da linguagem Java

  • Classes, atributos e métodos

  • Construtores, sobrecarga, encapsulamento

  • Estruturas de dados: arrays e coleções

  • Enumerações, composição

  • Herança, polimorfismo, interfaces

  • Tratamento de exceções

  • Generics

  • Programação funcional e expressões lambda, Stream API

  • Manipulação de arquivos

Nós também vamos aprender as principais ferramentas e frameworks para se trabalhar com Java profissionalmente no mercado, tais como:

  • JDBC para acesso a dados baseado em SQL

  • JavaFX para interface gráfica

  • Git / Github para versionamento

  • Spring Boot - principal framework Java para desenvolvimento comercial em Java

  • JPA / Hibernate para acesso a dados com mapeamento objeto-relacional (ORM)

  • Maven para gerenciamento de dependências de projeto

  • Spring Data JPA - framework para acesso a dados ORM

  • Spring Data MongoDB - framework para acesso a dados NoSQL ao banco MongoDB

METODOLOGIA

Além de cobrir a teoria de forma clara e objetiva, o curso possui muito enfoque prático. Cada seção do curso possui exercícios resolvidos e exercícios propostos para você treinar. E nós vamos ainda fazer projetos neste curso, os quais vão te permitir colocar tudo que você aprendeu em prática, e vai te permitir compreender como os tópicos se unem para a construção de projetos reais.

PÚBLICO ALVO

Este curso é especialmente indicado para quem deseja adquirir uma base solida, tanto teórica quanto pratica, de desenvolvimento orientado a objetos e linguagem Java. O curso também é super indicado para quem precisa de reforço aos conteúdos da faculdade, e para quem deseja se preparar de forma definitiva para ingressar e se destacar no mercado como um profissional Java.

SEJAM BEM-VINDOS!

Assista a aula introdutória e outros vídeos gratuitos para obter mais informações e constatar nossa qualidade e didática. Estou muito feliz em te dar boas-vindas a este curso: sua melhor e mais completa referência para programação orientada a objetos com Java, com qualidade profissional.

Eu e minha equipe estamos diariamente disponíveis na seção Perguntas e Respostas para responder suas dúvidas sobre o curso. Além disso, como todo curso aqui da Udemy, você também tem os seguintes benefícios:

  • Garantia de satisfação de 30 dias

  • Certificado

Não vejo a hora de começarmos juntos essa jornada. Um grande abraço e te vejo no curso!

Content

Introdução

Introdução: visão geral do curso

Conceitos de programação

Visão geral do capítulo
Material de apoio do capítulo
Algoritmo, Automação, Programa de Computador
O que é preciso para se fazer um programa de computador
Linguagem de programação, léxica, sintática
IDE - Ambiente Integrado de Desenvolvimento

Introdução à linguagem Java

Visão geral do capítulo
Material de apoio do capítulo
Entendendo as versões do Java
Histórico e edições de Java
JDK / JVM - Máquina Virtual do Java
Estrutura de uma aplicação Java
Instalando Java
Instalando o Eclipse
Primeiro programa em Java no Eclipse

Estrutura sequencial

Visão geral do capítulo
Material de apoio do capítulo
Expressões aritméticas
Variáveis e tipos básicos em Java
As três operações básicas de programação
Saída de dados em Java
Processamento de dados em Java, Casting
Entrada de dados em Java - Parte 1
Entrada de dados em Java - Parte 2
Funções matemáticas em Java
AVISO: exercícios para iniciantes PARTE 1
Exercícios para Iniciantes - PARTE 1

Estrutura condicional

Visão geral do capítulo
Material de apoio do capítulo
Expressões comparativas
Expressões lógicas
Estrutura condicional (if-else)
AVISO: exercícios para iniciantes PARTE 2
Exercícios para Iniciantes - PARTE 2
Sintaxe opcional - operadores de atribuição cumulativa
Sintaxe opcional - switch-case
Expressão condicional ternária
Escopo e inicialização

Estruturas repetitivas

Visão geral do capítulo
Material de apoio do capítulo
Como utilizar o DEBUG no Eclipse (execução passo a passo)
Estrutura repetitiva enquanto (while)
Teste de mesa com estrutura repetitiva enquanto
Exercícios de teste de mesa com while
AVISO: exercícios para iniciantes PARTE 3
Exercícios para Iniciantes - PARTE 3
Estrutura repetitiva para (for)
Teste de mesa com estrutura repetitiva para
Exercícios de testes de mesa com for
AVISO: exercícios para iniciantes PARTE 4
Exercícios para iniciantes PARTE 4
Estrutura repetitiva faça-enquanto (do-while)

Outros tópicos básicos sobre Java

Material de apoio do capítulo
Restrições e convenções para nomes
Operadores bitwise
Funções interessantes para String
Comentários em Java (básico)
Funções (sintaxe)

Introdução à Programação Orientada a Objetos

Visão geral do capítulo
Material de apoio do capítulo
Resolvendo um problema sem orientação a objetos
Criando uma classe com três atributos para representar melhor o triângulo
Criando um método para obtermos os benefícios de reaproveitamento e delegação
Começando a resolver um segundo problema exemplo
Object e toString
Finalizando o programa
Exercícios de fixação
Membros estáticos - Parte 1
Membros estáticos - Parte 2
Exercício de fixação

Construtores, palavra this, sobrecarga, encapsulamento

Visão geral do capítulo
Material de apoio do capítulo
Construtores
Palavra this
Sobrecarga
Encapsulamento
Gerando automaticamente construtores, getters e setters com Eclipse
Modificadores de acesso
Exercício de fixação
Correção do exercício de fixação - Parte 1
Correção do exercício de fixação - Parte 2

Comportamento de memória, arrays, listas

Visão geral do capítulo
Material de apoio do capítulo
Tipos referência vs. tipos valor
Desalocação de memória - garbage collector e escopo local
Vetores - Parte 1
Vetores - Parte 2
Exercício de fixação
Boxing, unboxing e wrapper classes
Laço for each
Listas - Parte 1
Listas - Parte 2
Exercício proposto
Matrizes
Exercício resolvido
Exercício proposto

Tópicos especiais em Java

Material de apoio do capítulo
Trabalhando com datas - Date
Manipulando um Date com Calendar

Bônus - nivelamento sobre Git e Github

Visão geral do capítulo Git e Github
Material de apoio do capítulo
O que é Git e Github
Instalação do Git no Windows
Demo - criando um novo projeto
Arquivo .gitignore
Demo - trabalhando com um projeto existente
Importante entender - a sequência de commits deve ser respeitada
Kit de primeiros socorros

Enumerações, composição

Visão geral do capítulo Enumerações e Composição
Material de apoio do capítulo
Enumerações
Vamos falar um pouco sobre design
Composição
Exercício resolvido 1 - Parte 1
Exercício resolvido 1 - Parte 2
Exercício resolvido 2 (demo StringBuilder)
Exercício de fixação

Herança e polimorfismo

Visão geral do capítulo Herança e Polimorfismo
Material de apoio do capítulo
Herança
Upcasting e downcasting
Sobreposição, palavra super, anotação @Override
Classes e métodos final
Introdução ao polimorfismo
Exercício resolvido
Exercício de fixação
Classes abstratas
Métodos abstratos
Exercício de fixação

Tratamento de exceções

Visão geral do capítulo Tratamento de Exceções
Material de apoio do capítulo
Discussão inicial sobre exceções
Estrutura try-catch
Pilha de chamadas de métodos (stack trace)
Bloco finally
Criando exceções personalizadas
Primeira solução - muito ruim
Segunda solução - ruim
Terceira solução - boa
Exercício de fixação

Projeto: Sistema jogo de xadrez

Visão geral do capítulo Sistema Jogo de Xadrez
Material de apoio do capítulo
Criando projeto e repositório Git
Primeira classe - Position
Começando a implementar Board e Piece
Camada Chess e imprimindo o tabuleiro
Colocando peças no tabuleiro
BoardException e programação defensiva
ChessException e ChessPosition
Pequena melhoria na impressão do tabuleiro
Movendo peças
Tratando exceções e limpando a tela
Movimentos possíveis de uma peça
Implementando movimentos possíveis da Torre
Imprimindo os movimentos possíveis
Implementando os movimentos possíveis do Rei
Trocando de jogador a cada turno
Manipulando peças capturadas
Lógica de xeque - PARTE 1
Lógica de xeque - PARTE 2
Lógica de xequemate
Contagem de movimentos das peças
Peão
Bispo
Cavalo
Rainha
Jogada especial Roque - PARTE 1
Jogada especial Roque - PARTE 2
Jogada especial en passant - PARTE 1
Jogada especial en passant - PARTE 2
Jogada especial promoção

Trabalhando com arquivos

Visão geral do capítulo Trabalhando com Arquivos
Material de apoio do capítulo
Lendo arquivo texto com classes File e Scanner
FileReader e BufferedReader
Bloco try-with-resources
FileWriter e BufferedWriter
Manipulando pastas com File
Informações do caminho do arquivo
Exercício proposto

Interfaces

Visão geral do capítulo Interfaces
Material de apoio do capítulo
Interfaces
Solução do problema - PARTE 1
Solução do problema - PARTE 2 (sem interface)
Solução do problema - PARTE 3
Inversão de controle e injeção de dependência
Exercício de fixação
Herdar vs. cumprir contrato
Herança múltipla e o problema do diamante
Interface Comparable
Default methods

Generics, Set, Map

Visão geral do capítulo Generics, Set, Map
Material de apoio do capítulo
Introdução aos Generics
Genéricos delimitados
Tipos curinga
Curingas delimitados
HashCode e Equals
Set
Como Set testa igualdade
Como TreeSet compara os elementos
Exercício resolvido (Set)
Exercício de fixação (Set)
Map
Exercício de fixação (Map)

Programação funcional e expressões lambda

Visão geral do capítulo Programação Funcional e Expressões Lambda
Material de apoio do capítulo
Uma experiência com Comparator
Programação funcional e cálculo lambda
Interface funcional
Predicate
Consumer
Function
Criando funções que recebem funções como parâmetro
Stream
Pipeline (demo)
Exercício resolvido (stream)
Exercício de fixação

Acesso a banco de dados com JDBC

Visão geral do capítulo
Material de apoio do capítulo
Visão geral do JDBC
Nivelamento: Álgebra Relacional e SQL
Instalando o MySQL
Preparação do primeiro projeto no Eclipse - PARTE 1
Preparação do primeiro projeto no Eclipse - PARTE 2
Demo - recuperar dados
Demo - inserir dados
Demo - atualizar dados
Demo - deletar dados
Demo - transações
Padrão de projeto DAO (Data Access Object)
PROJETO - criando projeto e repositório Git
Classe Department
Classe Seller
Interfaces DepartmentDao e SellerDao
SellerDaoJDBC e DaoFactory
Implementando findById
Reutilizando a instanciação
Implementando findByDepartment
Implementando findAll
Implementando insert
Implementando update
Implementando delete
Implementação e teste do DepartmentDao

Interface gráfica com JavaFX

Visão geral do capítulo JavaFX
Material de apoio do capítulo
Visão Geral do JavaFX
Instalação do Scene Builder
Preparação do Eclipse
Criando um novo projeto JavaFX no Eclipse
Testando o FXML
Tratando eventos com JavaFX
Mostrando Alert
Usando TextField e Label (app para calcular soma)
Limitações para TextField, interface Initializable
ComboBox
Visão geral dos principais containers de layout

Projeto: Aplicação desktop com JavaFX e banco de dados MySQL com JDBC

Visão geral do capítulo
Material de apoio do capítulo
Criação do projeto
Tela MainView
MainView design
MainView controller
About view
DepartmentList view design
DepartmentList controller
DepartmentService
Ação de inicialização como parâmetro (Consumer)
Adicionando acesso ao banco de dados
DepartmentForm (dialog) design
DepartmentForm controller
Passando um objeto Department para o formulário
Salvando um novo departamento
Padrão de projeto Observer para atualizar a TableView
Validação de dados e ValidationException
Atualizando departamento
Deletando departamento
Deletando pasta .settings
SellerList
SellerList Tableview
SellerForm
TextField & DatePicker
Department ComboBox
Salvando Seller
Build da aplicação e preparação para distribuição
Implantação da aplicação
Opcional - criação de arquivo de lote
Opcional - criação de atalho

Java EE - Mapeamento objeto-relacional com JPA / Hibernate

Visão geral do capítulo
Material de apoio do capítulo
Instalação do STS e Postman
Nivelamento JPA / Hibernate - PARTE 1
Nivelamento JPA / Hibernate - PARTE 2 (Trabalhando com Maven)
Nivelamento JPA / Hibernate - PARTE 3

Projeto: Web services com Spring Boot e JPA / Hibernate

Material de apoio do capítulo
Criação do projeto
Entidade User e seu resource
Banco de dados H2, test profile, JPA
JPA repository, injeção de dependência, database seeding
Camada de serviço, registro de componentes
Entidade Pedido. Datas com Instant e padrão ISO 8601 - PARTE 1
Entidade Pedido. Datas com Instant e padrão ISO 8601 - PARTE 2
Enum OrderStatus
Entidade Category
Entidade Product
Associação muitos-para-muitos com JoinTable
Entidade OrderItem. Associação muitos-para-muitos com dados extras - PARTE 1
Entidade OrderItem. Associação muitos-para-muitos com dados extras - PARTE 2
Associação muitos para muitos entre Product e OrderItem
Entidade Payment, associação um para um
Métodos subtotal e total
Inserção de User
Deleção de User
Atualização de User
Tratamento de exceção - findById
Tratamento de exceção - delete
Tratamento de exceção - update
Criando app Heroku e provisionando banco PostgreSQL
Instalação do PostgreSQL
Profile dev
Obtendo script SQL a partir do PostgreSQL local
Executando script SQL no servidor remoto
Deploy do sistema no Heroku
Testando o sistema em produção

Projeto: API Restful com Spring Boot e banco MongoDB (web services + NoSQL)

Visão geral do capítulo Projeto MongoDB com Spring Boot
Material de apoio do capítulo
Instalação do STS e Postman
Instalação do MongoDB
Instalação do Mongo Compass
Nivelamento sobre NoSQL e MongoDB - PARTE 1
Nivelamento sobre NoSQL e MongoDB - PARTE 2
Primeiro commit - Projeto criado
Entity User e REST funcionando
Conectando ao MongoDB com repository e service
Operação de instanciação da base de dados
Usando padrão DTO para retornar usuários
Obtendo um usuário por id
Inserção de usuário com POST
Deleção de usuário com DELETE
Atualização de usuário com PUT
Discutindo o design do modelo de domínio
Criando entity Post com User aninhado
Projeção dos dados do autor com DTO
Referenciando os posts do usuário
Endpoint para retornar os posts de um usuário
Obtendo um post por id
Acrescentando comentários aos posts
Consulta simples com query methods
Consulta simples com @Query
Consulta com vários critérios

Seção bônus

Aula bônus: cupons para outros cursos

Screenshots

Java COMPLETO Programação Orientada a Objetos + Projetos - Screenshot_01Java COMPLETO Programação Orientada a Objetos + Projetos - Screenshot_02Java COMPLETO Programação Orientada a Objetos + Projetos - Screenshot_03Java COMPLETO Programação Orientada a Objetos + Projetos - Screenshot_04

Reviews

RAFAEL
November 13, 2023
Man, eu sempre gostei do curso do professor alves e sempre vou comprar cursos deles, melhor professor
Jonas
November 10, 2023
Impressionante, já fiz vários cursos de Java para iniciante ,é como estivesse algo de novo .Uma coisa que percebi ,é trabalhar o conceito e a pratica ,tem cursos que tem enfoque mas na pratica e acabei que não sabia pra quer serve determinados comandos.
Juan
November 9, 2023
O curso é excelente e a didática e metodologia de Nélio Alves são perfeitas. Eu acho incrível a forma como o professor consegue sanar qualquer dúvida que pode ficar, sempre explicando as coisas de maneira clara, objetiva e com bastante solidez. Agradeço imensamente por esse curso pois me fez alavancar de um conhecimento superficial. Parabéns!!!!! EXCELENTE.
Renan
November 7, 2023
Ótimo curso Comprei pois estou revendo conceitos e inciando meus aprendizados com Spring. O Nélio é um excelente professor!
Andrey
November 2, 2023
Basicamente é o meu primeiro contato com linguagem de programação, mas sinto-me bastante satisfeito com o aprendizado até então.
Ozeias
October 31, 2023
Estou gostando da didatica facil de compreender e entender os estudo sao muito organizado estou adorando!!
Giovana
October 31, 2023
Um pouco confuso e causa um pouco de ansiedade pois mostra o que é complexo sem entendermos bem ainda.
bailon
October 28, 2023
Professor com excelente didática! Explica de forma prática e detalhada, estou gostando bastante, valeu a pena o investimento.
Gustavo
October 26, 2023
Curso ótimo até o momento, conclui cerca de 40% do curso e estou achando a didática muito boa e com exercícios bons de fixação
Gabriel
October 26, 2023
Vou dar 5 estrelas porque conheço o professor, porém na hora de executar o "Ola Mundo!" meu programana não funcionou e fiquei 1h tentando resolver, se não estivesse determinado, teria desistido. Recomendo arrumar a aula. Sei que tecnologia tem que se virar, mas no primeiro vídeo foi foda kkk, bora aprender que sei da capacidade do Nélio!
Andrea
October 25, 2023
Estou verificando o conteúdo do curso e fiquei surpresa com a extensão. Ansiosa por iniciar o curso e preocupada com o tempo que vou levar para realizar todas as aulas e revisar conteúdo. Por hora estou bem satisfeita.
Eduardo
October 24, 2023
eu ja tinha comprado esse curso, porem não sei oque houve acabei perdendo o curso, pela platadorma udemy, ele e varios outros. como eu sei da qualidade do professor nelio alves, e do otimo curso, acabei comprando novamente. super recomendo. mais estou um pe atrás com a udemy, que me deu o calote em varios outros cursos.
Everton
October 23, 2023
Muito bom, recomendo a todos, está um pouco desatualizado (22/10/2023), entretanto, com alguns ajustes é bem possível realizarmos todas as atividades. Obrigado.
Kim
October 20, 2023
Melhor curso que já adquiri. O ofertante possui uma didática fenomenal, faz com que conceitos complexos sejam entendidos de uma maneira tão natural, e com profundidade, que me impressionou bastante. Programo há quase 2 anos e estou revisitando conceitos e aprendendo novas coisas que não tinha entendido a princípio quando estudei no passado. Sem contar que os exemplos de aplicação são todos muito realistas, simulando entidades importantes no mundo tecnológico e corporativo, o professor nos faz criar uma noção boa de como é o cotidiano de um desenvolvedor e os programas que ele desenvolve para seus clientes ou usuários. Indico para todos!
Pedro
October 19, 2023
Achei muito foda, vi apenas a primeira aula e já coloquei minha expectativa a milhão, estou muito ansioso para fazer todas as etapas do curso!!

Coupons

DateDiscountStatus
9/16/201984% OFF
expired

Charts

Price

Java COMPLETO Programação Orientada a Objetos + Projetos - Price chart

Rating

Java COMPLETO Programação Orientada a Objetos + Projetos - Ratings chart

Enrollment distribution

Java COMPLETO Programação Orientada a Objetos + Projetos - Distribution chart
1701388
udemy ID
5/18/2018
course created date
9/16/2019
course indexed date
Matheus
course submited by