Skip to content

Practicing Java foundations daily — includes programs on syntax, variables, loops, conditionals, methods, and basic OOP concepts.

Notifications You must be signed in to change notification settings

SagarXCode/java-foundations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 

Repository files navigation

Java Foundations

This repository is dedicated to practicing Java on a regular basis.
It contains beginner-level Java programs written while learning and strengthening core concepts of the Java programming language.

The goal of this repository is consistent practice and skill growth, so commits may be frequent and incremental, reflecting my learning progress.


📌 Topics Covered

01. Basics

Introduces the fundamentals of Java including program structure, Comments, variables, data types, type casting, constants, user input (Scanner), operators, conditionals, loops, methods (overloading and recursion), arrays, and comprehensive string handling. Also covers Math & Random utilities, command-line arguments, pattern printing, and basic problem-solving programs.

02. Core Java

Covers object-oriented programming (OOP) concepts such as classes, objects, constructors, inheritance, polymorphism, encapsulation, abstraction, key Java keywords (this, super, static), access modifiers, and wrapper classes.

03. Intermediate Java

Includes exception handling, interfaces, abstract classes, Collections Framework (List, Set, Map), generics, enums, and inner classes for building modular applications.

04. Advanced Java

Explores file handling (IO/NIO), multithreading and concurrency, Java 8 features (Lambdas, Streams, Optional), Date & Time API, serialization, and JVM internals.


📂 Repository Structure

Java-Fundamentals/
│
├── 01-Basics/
│   ├── HelloWorld.java
│   │ 
│   ├── Comments
│   │
│   ├── Variables.java
│   ├── DataTypes.java
│   │
│   ├── TypeCasting/
│   │   ├── ImplicitCasting.java
│   │   └── ExplicitCasting.java
│   │
│   ├── Constants/
│   │   └── FinalKeywordDemo.java
│   │
│   ├── Input/
│   │   ├── ScannerBasics.java
│   │   ├── TakingIntegerInput.java
│   │   ├── TakingMultipleInputs.java
│   │   └── InputValidation.java
│   │
│   ├── Operators.java
│   │
│   ├── Conditionals/
│   │   ├── IfElse.java
│   │   └── SwitchCase.java
│   │
│   ├── Loops/
│   │   ├── ForLoop.java
│   │   ├── WhileLoop.java
│   │   └── DoWhileLoop.java
│   │
│   ├── Methods/
│   │   ├── MethodDeclaration.java
│   │   ├── MethodParameters.java
│   │   ├── MethodReturnTypes.java
│   │   ├── MethodOverloadingIntro.java
│   │   └── RecursionIntro.java
│   │
│   ├── Arrays/
│   │   ├── OneDArray.java
│   │   ├── TwoDArray.java
│   │   ├── ArrayOperations.java
│   │   ├── ArrayMethods.java
│   │   └── PassingArray.java
│   │
│   ├── Strings/
│   │   ├── StringDeclaration.java
│   │   ├── StringInputOutput.java
│   │   ├── StringLengthAndCharAt.java
│   │   ├── StringComparison.java
│   │   ├── StringConcatenation.java
│   │   ├── StringSubstring.java
│   │   ├── StringSearching.java
│   │   ├── StringCaseConversion.java
│   │   ├── StringTrimAndReplace.java
│   │   ├── StringSplitAndJoin.java
│   │   ├── StringImmutabilityDemo.java
│   │   ├── StringBuilderDemo.java
│   │   ├── StringBufferDemo.java
│   │   ├── StringToNumberConversion.java
│   │   ├── NumberToStringConversion.java
│   │   ├── StringFormattingDemo.java
│   │   ├── StringRegexValidation.java
│   │   ├── StringPerformanceTest.java
│   │   │
│   │   ├── ReverseString.java
│   │   ├── PalindromeCheck.java
│   │   ├── CountVowels.java
│   │   ├── CountCharacterFrequency.java
│   │   ├── RemoveDuplicatesFromString.java
│   │   ├── AnagramCheck.java
│   │   ├── LongestSubstringWithoutRepeating.java
│   │   ├── StringCompression.java
│   │   ├── CapitalizeEachWord.java
│   │   └── RemoveWhiteSpaces.java
│   │
│   ├── MathAndRandom/
│   │   ├── MathClassDemo.java
│   │   └── RandomNumberGeneration.java
│   │
│   ├── CommandLineArguments/
│   │   └── CommandLineArgsDemo.java
│   │
│   ├── Patterns/
│   │   ├── StarPatterns.java
│   │   ├── NumberPatterns.java
│   │   └── PyramidPatterns.java
│   │
│   └── BasicPrograms/
│       ├── PrimeNumberCheck.java
│       ├── Factorial.java
│       ├── FibonacciSeries.java
│       ├── GCD_LCM.java
│       └── ArmstrongNumber.java
│
├── 02-Core-Java/
│   ├── OOP/
│   │   ├── ClassAndObject.java
│   │   ├── Constructor.java
│   │   ├── Inheritance.java
│   │   ├── Polymorphism.java
│   │   ├── Encapsulation.java
│   │   └── Abstraction.java
│   ├── Keywords/
│   │   ├── ThisKeyword.java
│   │   ├── SuperKeyword.java
│   │   └── StaticKeyword.java
│   ├── AccessModifiers/
│   └── WrapperClasses.java
│
├── 03-Intermediate-Java/
│   ├── ExceptionHandling/
│   │   ├── TryCatch.java
│   │   ├── CustomException.java
│   │   └── ThrowsKeyword.java
│   ├── Interfaces/
│   ├── AbstractClasses/
│   ├── Collections/
│   │   ├── List/
│   │   ├── Set/
│   │   └── Map/
│   ├── Generics/
│   ├── Enums/
│   └── InnerClasses/
│
└── 04-Advanced-Java/
    ├── FileHandling/
    │   ├── FileIO.java
    │   └── NIOExample.java
    ├── Multithreading/
    │   ├── ThreadClass.java
    │   ├── RunnableInterface.java
    │   ├── Synchronization.java
    │   └── ExecutorFramework.java
    ├── Java8Features/
    │   ├── LambdaExpressions.java
    │   ├── StreamsAPI.java
    │   ├── FunctionalInterfaces.java
    │   └── OptionalClass.java
    ├── DateTimeAPI/
    ├── Serialization/
    └── JVM-Internals/
 

About

Practicing Java foundations daily — includes programs on syntax, variables, loops, conditionals, methods, and basic OOP concepts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages