Bem-vindo ao meu repositório de aprendizado de Java! Este repositório foi criado para armazenar todo o meu progresso e materiais relacionados ao curso do Nélio Alves na Udemy. Durante o curso, estarei explorando uma ampla gama de tópicos e conceitos essenciais do Java, bem como ferramentas e frameworks populares para o desenvolvimento profissional em Java.
O curso ministrado pelo Nélio Alves na Udemy oferece uma sólida base no desenvolvimento de software em Java. Se você deseja ter uma visão completa e acompanhar todo o percurso de formação do curso, veja o Percurso de formação. Ao longo do curso, irei aprender:
- Lógica de programação e algoritmos
- Sintaxe da linguagem Java
- Classes, atributos e métodos
- Construtores, sobrecarga e encapsulamento
- Estruturas de dados: arrays e coleções
- Enumerações e composição
- Herança, polimorfismo e interfaces
- Tratamento de exceções
- Generics
- Programação funcional e expressões lambda
- Stream API
- Manipulação de arquivos
Além disso, também explorarei as principais ferramentas e frameworks usados profissionalmente no mercado de desenvolvimento em Java, incluindo:
- JDBC para acesso a dados baseado em SQL
- JavaFX para interface gráfica
- Git / GitHub para versionamento de código
- Spring Boot - o 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 do projeto
- Spring Data JPA - framework para acesso a dados ORM
- Spring Data MongoDB - framework para acesso a dados NoSQL ao banco MongoDB
Esta seção contém os exercícios propostos durante o curso de Java. Cada exercício está localizado em sua própria pasta, com os arquivos e soluções correspondentes.
-
📊
Estrutura sequencial
: Explorando problemas de lógica sequencial, realizando cálculos, e interagindo com entrada/saída de dados. -
⚖️
Estrutura condicional
: Desenvolvendo habilidades em tomada de decisão, resolvendo problemas baseados em condições específicas usando instruções condicionais. -
🔁
Estrutura repetitiva
: Aplicando loops para realizar tarefas repetidas, como processar listas de dados, executar cálculos e exibir padrões. -
🏗️
Iniciando POO
: Entrando no mundo da Programação Orientada a Objetos (POO), criando classes, objetos e explorando conceitos como encapsulamento. -
📚
Arrays e listas
: Aprendendo a lidar com coleções de elementos em sequência, utilizando arrays e listas para armazenar e manipular dados. -
🧩
Matriz
: Manipulando e processando conjuntos de dados estruturados em formato de matriz. -
🧱
Composição e Enumeração
: Utilizando a composição de classes e enumeração para construir relacionamentos entre objetos e representar conjuntos de valores fixos e restritos. -
🧬
Herança e Polimorfismo
: Explorando a relação de herança entre classes e a capacidade do polimorfismo de criar métodos e comportamentos que podem ser implementados de maneiras diferentes em classes derivadas. -
⚠️ Exceptions
: Lidando com erros e exceções em Java, utilizando blocos try-catch para capturar e tratar exceções lançadas durante a execução do programa. Desenvolvendo habilidades para identificar e lidar com situações de erro de forma adequada, garantindo a robustez e estabilidade do código. -
📄
Trabalhando com arquivos
: Explorando operações de leitura e escrita de arquivos em Java utilizando BufferedReader, BufferedWriter, FileReader e FileWriter, e outras funcionalidades relacionadas a arquivos. -
🌐
Interfaces
: Aprofundando o conhecimento em interfaces em Java, explorando a implementação e o uso de interfaces para facilitar a comunicação e a interoperabilidade entre objetos. -
🗺️
Generics, Set e Map
: Aprofundando o entendimento sobre Generics em Java, uma poderosa ferrramenta para trablhar com diferentes tipos de dados de forma flexível e segura. E explorando o uso de conjuntos e mapas, incluindo HashSet, TreeSet, LinkedHashSet, HashMap, TreeMap e LinkedHashMap, para manipular dados de forma eficiente e segura. -
🚀
Programação funcional e expressões lambda
: Aprimorando habilidades na prática da programação funcional, explorando o poder das expressões lambda em Java. Desenvolvendo a capacidade de resolver problemas de maneira concisa e elegante, utilizando funções de ordem superior e comportamentos encapsulados em expressões lambda.
Você pode encontrar todos os exercícios na pasta Exercícios/
. Certifique-se de explorar cada pasta individualmente para obter mais detalhes sobre cada exercício.
Neste repositório, você encontrará uma organização clara dos recursos relacionados ao curso. A estrutura inclui:
-
Exercícios/
: Esta pasta contém uma coleção de exercícios propostos ao longo do curso, juntamente com suas soluções correspondentes. -
Projetos/
: Aqui você encontrará os projetos práticos desenvolvidos durante o curso. Cada projeto está em sua própria pasta, com instruções e documentação específicas dentro de cada uma delas. -
Exemplos/
: Exemplos de código relevantes e ilustrativos compartilhados durante as aulas. -
Notas/
: Esta pasta contém apontamentos e anotações sobre conceitos, recursos e dicas importantes relacionadas ao Java. -
Recursos/
: Nesta pasta, você encontrará materiais complementares, como referências, tutoriais, links úteis e livros recomendados para aprofundar seus conhecimentos em Java.
Sinta-se à vontade para explorar o conteúdo deste repositório de acordo com seus interesses e necessidades de aprendizado. Aqui estão algumas sugestões:
-
Para revisar os exercícios propostos, acesse a pasta
Exercícios/
e escolha um exercício de seu interesse. As soluções correspondentes estão disponíveis na mesma pasta. -
Caso queira verificar os projetos práticos desenvolvidos ao longo do curso, navegue até a pasta
Projetos/
e escolha um projeto para explorar. Dentro de cada pasta de projeto, você encontrará instruções detalhadas e documentação relevante. -
Analisar os exemplos de código: Verifique a pasta
Exemplos/
para encontrar trechos de código relevantes compartilhados durante as aulas. -
Se estiver buscando informações específicas sobre conceitos e dicas relacionados ao Java, consulte a pasta
Notas/
para encontrar minhas anotações pessoais. -
Para recursos adicionais, como referências, tutoriais e livros recomendados, verifique a pasta
Recursos/
para obter mais informações.
Este repositório é pessoal e destinado ao meu próprio aprendizado de Java. No entanto, se você encontrar algum problema, erro ou tiver sugestões para melhorias, fique à vontade para abrir uma "Issue" ou enviar um "Pull Request". Sua contribuição é bem-vinda!