Skip to content

100 Days of Java Challenge: Tracking and documenting my journey to learn Java. Includes daily progress, tools used, and recommended resources.

License

Notifications You must be signed in to change notification settings

johnsilverio/100Days-of-Java-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ 100 Days of Java Challenge

100 Days of Java Challenge

This repository was created to document and organize my progress in the 100 Days of Java Challenge, which started on September 8, 2024. The goal is to advance in learning the Java language, covering fundamentals, intermediate concepts, and more advanced topics throughout the journey.

Start: 08/09/2024 | Estimated End: 17/12/2024

πŸ“Œ Topics Covered

Days 01 to 10
Day 01
  • General Planning: Set up a study plan and organized the repository.
  • Java Setup: Installation of JDK and setup of the development environment.
  • Java Documentation: Read "Overview" and "Getting Started" sections from the official Java documentation.
  • Java History: Overview of Java's development and evolution.
  • Course: Lessons 1 to 14 from the Java Marathon Challenge playlist.
  • Primitive Data Types: Understanding int, long, byte, short, float, double, boolean, and char.
  • IDE Exploration: Basic navigation and features of IntelliJ IDEA.
Day 02
  • Book Addition: Started reading "Core Java Volume I - Fundamentals".
  • Java Operators: Covered arithmetic, relational, logical, and assignment operators.
  • Conditional Structures: Studied if, else if, ternary operator, and switch statements.
  • Course: Lessons 15 to 26 from the Java Marathon Challenge playlist.
Day 03
  • String Manipulation: Learned the fundamentals of handling strings in Java.
  • Exercises: Worked on conditional structures exercises.
Day 04
  • Loops: Practiced while, do-while, and for loops, understanding their nuances and when to use each.
  • Flow Control: Applied the break and continue statements to control the execution of loops.
  • Exercises: Reinforced knowledge with practical exercises focusing on loop structures.
Day 05
  • Arrays: Learned how to create, manipulate, and iterate over arrays using traditional loops and the foreach loop.
  • Multidimensional Arrays: Explored how to work with multidimensional arrays to store and access data in matrix form.
Day 06
  • Object-Oriented Programming (OOP): Began learning about classes and objects in Java.
  • OOP Benefits: Explored how OOP helps in organizing and structuring code efficiently.
Day 07
  • Access Modifiers: Learned about public, private, and protected, and how they control access to class members.
  • Getters and Setters: Implemented getters and setters to control access to attributes while keeping data encapsulated.
Day 08
  • Object References: Deepened understanding of how classes define object behavior and how object references work in Java.
  • Methods: Studied how methods operate within classes and their interactions.
  • Cohesion: Learned about class cohesion, which is the practice of keeping each class focused on a single responsibility to promote code organization and avoid unnecessary repetition.
  • Exercises: Completed exercises on class design and object references to reinforce the theoretical concepts.
Day 09
  • Methods: Continued studying methods, focusing on parameters and return values.
Day 10
  • Project Work: Reviewed the first 10 days by implementing a project based on learned concepts.
  • BankAccount Project: Created a BankAccount class to simulate bank account operations such as deposits, withdrawals, and account status management.
  • OOP Concepts Application: Practiced using classes and methods, reinforcing understanding of OOP principles.
  • Project Structure: Organized the project into packages for better code management.
πŸ† Summary of Days 01 to 10:
  • Completed foundational Java concepts, including data types, operators, control structures, and OOP basics.
  • Gained hands-on experience through practical exercises and a project, solidifying understanding of Object-Oriented Programming.
Days 11 to 20
Day 11
Day 12
Day 13
Day 14
Day 15
Day 16
Day 17
Day 18
Day 19
Day 20

πŸ† Summary of Days 11 to 20:

Days 21 to 30
Day 21
Day 22
Day 23
Day 24
Day 25
Day 26
Day 27
Day 28
Day 29
Day 30

πŸ† Summary of Days 21 to 30:

Days 31 to 40
Day 31
Day 32
Day 33
Day 34
Day 35
Day 36
Day 37
Day 38
Day 39
Day 40

πŸ† Summary of Days 31 to 40:

Days 41 to 50
Day 41
Day 42
Day 43
Day 44
Day 45
Day 46
Day 47
Day 48
Day 49
Day 50

πŸ† Summary of Days 41 to 50:

Days 51 to 60
Day 51
Day 52
Day 53
Day 54
Day 55
Day 56
Day 57
Day 58
Day 59
Day 60

πŸ† Summary of Days 51 to 60:

Days 61 to 70
Day 61
Day 62
Day 63
Day 64
Day 65
Day 66
Day 67
Day 68
Day 69
Day 70

πŸ† Summary of Days 61 to 70:

Days 71 to 80
Day 71
Day 72
Day 73
Day 74
Day 75
Day 76
Day 77
Day 78
Day 79
Day 80

πŸ† Summary of Days 71 to 80:

Days 81 to 90
Day 81
Day 82
Day 83
Day 84
Day 85
Day 86
Day 87
Day 88
Day 89
Day 90

πŸ† Summary of Days 81 to 90:

Days 91 to 100
Day 91
Day 92
Day 93
Day 94
Day 95
Day 96
Day 97
Day 98
Day 99
Day 100

πŸ† Summary of Days 91 to 100:

πŸ› οΈ Tools Used

🌟 Recommended Resources

πŸ“ Repositories and Projects

πŸŽ₯ Videos

🎯 Goals

This repository reflects my commitment and progress in the 100 Days of Java Challenge. Throughout the days, I aimed to consolidate my knowledge and expand my skills in Java. Although I already had a foundation in Java from my university studies, this challenge provided me with an opportunity to deepen and update my understanding of both fundamental and advanced topics.

About

100 Days of Java Challenge: Tracking and documenting my journey to learn Java. Includes daily progress, tools used, and recommended resources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published