A comprehensive learning repository for mastering Core Java concepts and Spring Boot fundamentals
- 🎯 Overview
- 📁 Project Structure
- 🧱 Core Java Concepts
- 💻 Code Examples
- 🚀 Getting Started
- 📚 Learning Path
- 🛠️ Technologies
- 🎓 Mini Projects
- 🤝 Contributing
- 📞 Contact
This repository serves as a practical learning guide for mastering Core Java fundamentals and transitioning into Spring Boot development. It's designed with a progressive learning approach, starting from basic Java concepts and gradually building up to enterprise-level development.
- 🧠 Beginner-Friendly: Clear explanations with practical examples
- 📦 Modular Structure: Each concept in its own directory
- 🎯 Real-World Examples: Banking system, calculator, student directory
- 📝 Well-Documented: Comprehensive comments and explanations
- 🔄 Progressive Learning: From basics to advanced concepts
core-java-springboot-tutorial/
├── 📁 Variables/ # Data types and variable declarations
│ ├── VariableDeclaration.java
│ ├── ReservedWordsExample.java
│ ├── IdentifiersDemo.java
│ ├── UnderstandingByte_Short_Int_Long/
│ ├── FloatingPointTypesDemo.java
│ └── CharBooleanDemo.java
├── 📁 BeginCalc/ # Basic calculator implementation
├── 📁 OOPBanking/ # Object-Oriented Programming examples
├── 📁 StudentDirector/ # Collections and CRUD operations
├── 📁 Accepting_Input_From_User/ # User input handling
├── 📁 Implicit_TypeCasting/ # Automatic type conversions
├── 📁 Explicit_TypeCasting/ # Manual type casting
├── 📁 Operators/ # Arithmetic, logical, comparison operators
├── 📁 Loops/ # Control flow and loops
├── 📁 Statements/ # Conditional statements
└── 📁 Swap_Two_Variables_Using_Third_Variable/ # Variable swapping techniques
What is Java?
- Platform-independent, object-oriented programming language
- Widely used for enterprise backend development, Android apps, and APIs
- Write once, run anywhere (WORA) principle
| Concept | Description | Example |
|---|---|---|
| Reserved Words | Keywords that cannot be used as identifiers | class, public, if, else, for |
| Identifiers | Names for variables, methods, classes | Must start with letter, _, or $ |
| Type | Size | Range | Use Case |
|---|---|---|---|
byte |
8-bit | -128 to 127 | Small numbers, memory efficiency |
short |
16-bit | -32,768 to 32,767 | Medium integers |
int |
32-bit | -2³¹ to 2³¹-1 | Default for integers |
long |
64-bit | -2⁶³ to 2⁶³-1 | Large numbers |
| Type | Size | Precision | Use Case |
|---|---|---|---|
float |
32-bit | 6-7 digits | Less precision, memory efficient |
double |
64-bit | 15-16 digits | Default for decimals |
char: Unicode character (16-bit)boolean: true/false values
int number = 100;
double decimal = number; // Automatic conversiondouble decimal = 100.04;
int number = (int) decimal; // Manual conversion, data loss possible| Category | Operators | Description |
|---|---|---|
| Arithmetic | +, -, *, /, % |
Mathematical operations |
| Relational | ==, !=, <, >, <=, >= |
Comparison operations |
| Logical | &&, ` |
|
| Assignment | =, +=, -=, *= |
Variable assignment |
// Integer types
byte smallNumber = 127;
short mediumNumber = 32767;
int regularNumber = 2147483647;
long bigNumber = 9223372036854775807L;
// Floating point types
float price = 19.99f;
double pi = 3.14159265359;
// Other types
char grade = 'A';
boolean isActive = true;import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.print("Enter your age: ");
int age = scanner.nextInt();int a = 10, b = 20;
System.out.println("Before: a = " + a + ", b = " + b);
// Using third variable
int temp = a;
a = b;
b = temp;
System.out.println("After: a = " + a + ", b = " + b);- Java JDK 17+ (recommended)
- IDE: IntelliJ IDEA, Eclipse, or VS Code
- Maven (optional, for future Spring Boot projects)
-
Clone the repository
git clone https://github.com/betulsalim/core-java-springboot-tutorial.git cd core-java-springboot-tutorial -
Open in your IDE
- Import as Java project
- Ensure JDK is properly configured
-
Start Learning
- Begin with
Variables/directory - Follow the learning path below
- Run examples and experiment with code
- Begin with
- Variables & Data Types →
Variables/ - User Input →
Accepting_Input_From_User/ - Operators →
Operators/ - Type Casting →
Implicit_TypeCasting/→Explicit_TypeCasting/
- Control Flow →
Statements/→Loops/ - Basic Programs →
BeginCalc/ - Variable Techniques →
Swap_Two_Variables_Using_Third_Variable/
- Object-Oriented Programming →
OOPBanking/ - Collections & CRUD →
StudentDirector/ - Spring Boot (coming soon)
| Technology | Version | Purpose |
|---|---|---|
| Java | JDK 17+ | Core programming language |
| Spring Boot | Latest | Framework (coming soon) |
| Maven | Latest | Build tool (optional) |
| IntelliJ IDEA | Latest | Recommended IDE |
- Skills: Logic, operators, method calls
- Concepts: Basic arithmetic operations
- Learning: Control structures and user input
- Skills: Encapsulation, inheritance, polymorphism
- Concepts: Object-oriented design
- Learning: Real-world application modeling
- Skills: Collections, CRUD operations
- Concepts: List, Map, Set usage
- Learning: Data management and manipulation
- Skills: Type handling, user interaction
- Concepts: Scanner class, type conversion
- Learning: Data validation and conversion
- Core Java fundamentals
- Java Collections Framework
- Exception Handling
- File I/O Operations
- Spring Boot Setup
- RESTful API Development
- Unit Testing (JUnit)
- JSON Serialization
- Database Integration
- Security Implementation
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Add clear comments to your code
- Follow Java naming conventions
- Include examples and explanations
- Test your code before submitting
Maintained by: Betül Salim
- 🌐 GitHub: github.com/betulsalim
- 📧 Email: [Add your email here]
- 💼 LinkedIn: [Add your LinkedIn here]
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ If this repository helps you learn Java, please give it a star! ⭐
Happy Coding! 🚀