Este repositório contém a minha progressão, exercícios e projetos desenvolvidos durante o curso de Java focado em Programação Orientada a Objetos. O objetivo é consolidar o domínio da linguagem Java, desde a lógica de programação até recursos avançados da plataforma.
O curso aborda a linguagem Java de forma profunda, unindo uma base teórica sólida com a prática intensiva. Ele é projetado para levar o estudante do nível iniciante ao domínio de conceitos fundamentais para o desenvolvimento de sistemas modernos e para o mercado de trabalho (Back-end).
O cronograma de estudos está dividido nos seguintes pilares fundamentais:
- Estrutura sequencial, condicional e repetitiva (
while,for,do-while). - Tipos de dados primários e operadores.
- Debug de programas.
- Conceitos de Classes, Atributos e Métodos.
- Membros Estáticos: Utilização da classe
Mathe constantes. - Construtores, Palavra
this, Sobrecarga e Encapsulamento: Proteção de dados e inicialização de objetos. - Pilares da POO: Herança, Polimorfismo e Abstração.
- Comportamento de Memória: Stack vs Heap.
- Tipos Referência vs Tipos Valor.
- Vetores (Arrays) e Listas (
List<T>). - Matrizes.
- Laço for-each.
- Enumerações e Composição: Modelagem de entidades complexas.
- Tratamento de Exceções: Blocos
try-catche exceções personalizadas. - Trabalhando com Arquivos:
File,Scanner,FileWriter,BufferedWriter. - Interfaces: Inversão de controle e injeção de dependência.
- Generics, Set e Map: Coleções seguras e eficientes.
- Expressões Lambda e Programação Funcional: Stream API, Predicate, Function e Consumer.
Durante o curso, foram desenvolvidos sistemas para aplicar os conceitos:
- Sistema de Jogo de Xadrez: Aplicação completa de POO e lógica de matrizes no terminal.
- Sistema de Pedidos e Contratos: Prática de composição de objetos e enumerações.
- Sistema de Imposto de Renda: Exercício focado em classes abstratas e polimorfismo.
- Linguagem: Java 17+
- IDE: Eclipse
- Gerenciador de Dependências: Maven (em módulos avançados)
- Versionamento: Git e GitHub