Day 6-7 of Learning Java : Today I started my journey into Java programming which is taught by Aditya Tandon Sir. Here are the key concepts I learned today: Conditional Statements In Java:- Java uses conditional statements to decide which block of code should execute based on condition is true or false. Types:- • If statement • If else statement • Else If ladder • Switch statement • The Ternary Operator ∆ If statement:-The most basic control flow statement. It executes a block of code only if the given condition is true. Example:- if (age >= 18) { System.out.println("You are eligible to vote."); } ∆ If else statement:-It executes a block of code, when if condition is false, the else block runs. Example:- if (score >= 50) { System.out.println("Pass"); } else { System.out.println("Fail"); } ∆ Else If ladder:-When you have multiple conditions to check, you use a ladder. Java tests them from top to bottom and executes the first one that is true. Example:- int score = 85; if (score >= 90) { System.out.println("Grade: A"); } else if (score >= 80) { System.out.println("Grade: B"); } else { System.out.println("Grade: F (Fail)"); } ∆ The switch Statement:-Instead of a long chain of else if statements, a switch is comparing a single variable against a list of constant values. Example:- int day = 3; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; default: System.out.println("Invalid day"); } ∆ The Ternary Operator (? :):-This is a shorthand of the if-else statement. It is the only operator in Java that takes three operands. Syntax: variable = (condition) ? value_if_true : value_if_false; This is just the beginning. Excited to continue this journey Special thanks to Rohit Negi bhaiya & Aditya Tandon Sir. #Day6 #Java #Coding #Learning #Consistency
Learning Java with Aditya Tandon Sir: Conditional Statements
More Relevant Posts
-
🚀 Core Java Learning Journey Explored Types of Constructors in Java (In Depth) ☕ 🔹 Constructors are special methods used to initialize objects when they are created. They help in setting up the initial state of an object. 📌 1️⃣ Default Constructor (Implicit) - Provided automatically by Java if no constructor is defined - Does not take any parameters - Initializes instance variables with default values: - "int → 0" - "boolean → false" - "char → '\u0000'" - "reference types → null" - Mainly used for basic object creation without custom initialization 💡 Example: class Student { int id; String name; } 👉 Here, Java internally provides a default constructor --- 📌 2️⃣ No-Argument Constructor (Explicit) - Defined by the programmer without parameters - Used to assign custom default values instead of Java defaults - Improves control over object initialization 💡 Example: class Student { int id; String name; Student() { id = 100; name = "Default"; } } --- 📌 3️⃣ Parameterized Constructor - Accepts parameters to initialize variables - Allows different objects to have different values - Helps in making code more flexible and reusable 💡 Example: class Student { int id; String name; Student(int id, String name) { this.id = id; this.name = name; } } --- 🎯 Key Takeaway: - Default constructor → Automatic initialization - No-argument constructor → Custom default values - Parameterized constructor → Dynamic initialization Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Constructors #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 From Writing Code to Understanding Memory — My Java Learning (Post #3) 🧠💻 In my previous posts, I shared what I learned about Access Modifiers and Non-Access Modifiers. This time, I wanted to go a bit deeper into something I’ve been using without really thinking about it: 👉 Where do variables and objects actually live in Java? Here’s my current understanding 👇 🧠 Java doesn’t directly use memory — it runs inside the JVM, which manages how data is stored in RAM. The three main areas I focused on: 🔹 Stack Memory (Execution Area) ⚡ Used for method calls and local variables. public class Main { public static void main(String[] args) { int x = 10; int y = 20; } } Here, x and y are stored in the Stack. ✔️ Fast ✔️ Temporary ✔️ Automatically cleared after execution 🔹 Heap Memory (Object Storage) 📦 Used for storing objects and instance variables. class Student { int age; } public class Main { public static void main(String[] args) { Student s1 = new Student(); s1.age = 25; } } What clicked for me here: 👉 s1 is just a reference (stored in Stack) 👉 The actual object is stored in Heap 🔹 Static Variables (Class-Level Memory) 🏫 This part confused me at first 👀 class Student { static String schoolName = "ABC School"; } ✔️ Not stored in Stack ✔️ Not inside objects in Heap 👉 Stored in a special area (Method Area) 👉 Only ONE copy exists and is shared across all objects 💡 Real-world example that helped me: Think of a university system 🎓 • Students → Objects (Heap) • Student ID → Reference (Stack) • University Name → Static variable (shared across all students) 📌 Key takeaways: ✔️ Stack = execution (temporary data) ✔️ Heap = object storage ✔️ Static = class-level shared data ✔️ JVM manages memory (physically stored in RAM) This topic really changed how I look at Java code. Earlier, I was just writing programs — now I’m starting to understand what happens behind the scenes 🔍 I’m currently focusing on strengthening my Core Java fundamentals, and I’d really appreciate any feedback, corrections, or guidance from experienced developers here 🙌 🚀 Next, I’m planning to explore Garbage Collection and how JVM manages memory efficiently. #JavaDeveloper #BackendEngineering #JavaInternals #SoftwareDevelopment #TechLearning #CodeNewbie
To view or add a comment, sign in
-
-
Day 39 of Learning Java: Downcasting & instanceof Explained Clearly 1. What is Downcasting? Downcasting is the process of converting a parent class reference → child class reference. It is the opposite of Upcasting. 👉 Key Points: Requires explicit casting Used to access child-specific methods Only works if the object is actually of the child class Example: class A {} class B extends A {} A ref = new B(); // Upcasting B obj = (B) ref; // Downcasting 💡 Here, ref actually holds a B object, so downcasting is safe. 2. When Downcasting Fails If the object is NOT of the target subclass → it throws: ClassCastException 📌 Example: A ref = new A(); B obj = (B) ref; // Runtime Error 👉 This is why we need a safety check! 3. instanceof Keyword (Safety Check ) The instanceof keyword is used to check whether an object belongs to a particular class before casting. 📌 Syntax: if (ref instanceof B) { B obj = (B) ref; } 💡 Prevents runtime errors and ensures safe downcasting. 4. Real-World Example class SoftwareEngineer { void meeting() { System.out.println("Attending meeting"); } } class Developer extends SoftwareEngineer { void coding() { System.out.println("Writing code"); } } class Tester extends SoftwareEngineer { void testing() { System.out.println("Testing application"); } } 📌 Manager Logic using instanceof: void review(SoftwareEngineer se) { if (se instanceof Developer) { Developer dev = (Developer) se; dev.coding(); } else if (se instanceof Tester) { Tester t = (Tester) se; t.testing(); } } 💡 This is a real use of polymorphism + safe downcasting 5. Key Rules to Remember ✔ Downcasting requires upcasting first ✔ Always use instanceof before downcasting ✔ Helps access child-specific behavior ✔ Wrong casting leads to runtime exceptions 💡 My Key Takeaways: Upcasting gives flexibility, Downcasting gives specificity instanceof is essential for writing safe and robust code This concept is widely used in real-world applications, frameworks, and APIs #Java #OOP #LearningInPublic #100DaysOfCode #Programming #Developers #JavaDeveloper #CodingJourney
To view or add a comment, sign in
-
-
How Java Achieves Platform Independence One of the biggest strengths of Java is its ability to run anywhere without modification. Understanding platform independence is essential for every programming student and developer. 1. Bytecode Compilation - Java code is compiled into bytecode, not machine code - This makes the output platform-neutral 2. JVM Abstraction - The Java Virtual Machine acts as an intermediary - It allows the same bytecode to run on different systems 3. Standard Java APIs - Provides consistent libraries across platforms - Ensures uniform behavior regardless of OS 4. Architecture-Neutral Format - Bytecode is independent of hardware architecture - Eliminates compatibility issues 5. WORA Principle (Write Once, Run Anywhere) - Write code once and execute it anywhere - No need for platform-specific changes 6. Cross-Platform Execution Flow - Source code compiled via JAVAC → Bytecode - Bytecode executed by JVM on Windows, Linux, Mac, etc. Mastering these concepts helps you write scalable, portable, and efficient Java applications. Need help with Java assignments or programming projects? Message us or visit our website. I searched 300 free courses, so you don't have to. Here are the 35 best free courses. 1. Data Science: Machine Learning Link: https://lnkd.in/gUNVYgGB 2. Introduction to computer science Link: https://lnkd.in/gR66-htH 3. Introduction to programming with scratch Link: https://lnkd.in/gBDUf_Wx 3. Computer science for business professionals Link: https://lnkd.in/g8gQ6N-H 4. How to conduct and write a literature review Link: https://lnkd.in/gsh63GET 5. Software Construction Link: https://lnkd.in/ghtwpNFJ 6. Machine Learning with Python: from linear models to deep learning Link: https://lnkd.in/g_T7tAdm 7. Startup Success: How to launch a technology company in 6 steps Link: https://lnkd.in/gN3-_Utz 8. Data analysis: statistical modeling and computation in applications Link: https://lnkd.in/gCeihcZN 9. The art and science of searching in systematic reviews Link: https://lnkd.in/giFW5q4y 10. Introduction to conducting systematic review Link: https://lnkd.in/g6EEgCkW 11. Introduction to computer science and programming using python Link: https://lnkd.in/gwhMpWck Any other course you'd like to add? Follow Programming [Assignment-Project-Coursework-Exam-Report] Helper For Students | Agencies | Companies for more #JavaProgramming #ProgrammingHelp #ComputerScience #Coding #SoftwareDevelopment #AssignmentHelp #TechEducation #j15
To view or add a comment, sign in
-
-
🚀 Java Collections Framework & ArrayList – Simple Notes While learning Java, I explored the Collections Framework and understood how it helps in storing and managing data efficiently. 🔹 What is Collections Framework? It is a group of classes and interfaces used to store, manipulate, and process data easily. 🔹 Why it was introduced? Earlier, we used arrays which had many limitations (fixed size, difficult operations). To overcome this, Java introduced Collections. 📌 Common Interfaces & Classes - List → ArrayList, LinkedList - Set → HashSet, TreeSet - Queue → Deque - Map → HashMap 💡 What is ArrayList? - A resizable (dynamic) array - Stores objects (not primitive data types) - Allows duplicate values - Maintains insertion order - Allows null values ⚙️ Constructors of ArrayList - "ArrayList()" → default - "ArrayList(int capacity)" → with initial size - "ArrayList(Collection c)" → from another collection 📈 Capacity Concept - Default capacity = 10 - When full, it increases using: 👉 "(current size × 3/2) + 1" 🔁 Ways to Access Elements 1. For loop 2. For-each loop 3. Iterator (forward only) 4. ListIterator (forward & backward) 🛠️ Important Methods - "add()" → add element - "add(index, value)" → add at position - "get()" → access element - "set()" → update value - "remove()" → delete element - "size()" → number of elements - "isEmpty()" → check empty or not - "contains()" → check element - "indexOf()" / "lastIndexOf()" → find position - "clear()" → remove all - "subList()" → get part of list - "trimToSize()" → reduce memory 📌 When to Use ArrayList? ✔ When you need dynamic size ✔ When duplicates are allowed ✔ When order matters ✔ When frequent read operations are needed ✨ In short: ArrayList makes data handling easy, flexible, and efficient compared to traditional arrays. #Java #Collections #ArrayList #Programming #Learning #CodingJourney
To view or add a comment, sign in
-
🚀 Java Learning Progress – Key Features from Java 8 → Java 21 As part of strengthening my Java fundamentals, I revised the major improvements introduced in different Java versions. Here is a simple summary from Java(LTS) 8 to Java 21 that helped me understand the evolution of the language. ☕ Java 8 (2014) – Functional Programming in Java Major shift in Java programming style. Key Features • Lambda Expressions • Stream API • Functional Interfaces • Default & Static methods in Interfaces • New Date & Time API Example – Lambda Expression List<Integer> list = Arrays.asList(1,2,3,4); list.forEach(n -> System.out.println(n)); Why it matters ✔ Less boilerplate code ✔ Functional programming style ✔ Powerful data processing with Streams ☕ Java 11 (2018) – Modern HTTP Client & Utilities Java 11 is an LTS (Long Term Support) version. Key Features • New HTTP Client API • String utility methods (isBlank, lines, strip) • Files.readString() • Run Java without compilation Example – HTTP Client HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .build(); Why it matters ✔ Easier REST API calls ✔ Cleaner String handling ☕ Java 17 (2021) – Modern Object-Oriented Features Another LTS version widely used in enterprise applications. Key Features • Sealed Classes • Pattern Matching for instanceof • Enhanced Switch Expressions • Strong encapsulation of JDK internals Example – Pattern Matching if (obj instanceof String s) { System.out.println(s.toUpperCase()); } Why it matters ✔ Cleaner and safer code ✔ Reduced type casting ☕ Java 21 (2023) – High Performance Concurrency Latest LTS version. Key Features • Virtual Threads (Project Loom) • Record Patterns • Pattern Matching for switch • Sequenced Collections Example – Virtual Thread Thread.startVirtualThread(() -> { System.out.println("Hello from Virtual Thread"); }); Why it matters ✔ Handle millions of concurrent requests ✔ Great for microservices and cloud systems 📌 My Key Takeaway Java has evolved from object-oriented programming → functional programming → modern concurrency. Understanding these features helps in writing clean, scalable, and high-performance applications. #Java #JavaDeveloper #LearningInPublic #SoftwareEngineering #Java8 #Java11 #Java17 #Java21
To view or add a comment, sign in
-
🚀 Exploring Built-in Methods of ArrayList in Java As part of my continuous learning in Java, I explored the powerful built-in methods of ArrayList that make data handling efficient and flexible. Understanding these methods is essential for writing clean and optimized code. Here’s a quick overview of some commonly used ArrayList methods 👇 🔹 1. add() Adds an element to the list list.add("Java"); 🔹 2. add(index, value) Inserts an element at a specific position list.add(1, "Python"); 🔹 3. addAll() Adds all elements from another collection list.addAll(otherList); 🔹 4. retainAll() Keeps only common elements between two collections list.retainAll(otherList); 🔹 5. removeAll() Removes all elements present in another collection list.removeAll(otherList); 🔹 6. set() Replaces an element at a specific index list.set(0, "C++"); 🔹 7. get() Retrieves an element by index list.get(0); 🔹 8. size() Returns the number of elements list.size(); 🔹 9. trimToSize() Trims capacity to match current size list.trimToSize(); 🔹 10. isEmpty() Checks if the list is empty list.isEmpty(); 🔹 11. contains() Checks if an element exists list.contains("Java"); 🔹 12. indexOf() Returns the first occurrence index list.indexOf("Java"); 🔹 13. lastIndexOf() Returns the last occurrence index list.lastIndexOf("Java"); 🔹 14. clear() Removes all elements from the list list.clear(); 🔹 15. subList(start, end) Returns a portion of the list list.subList(1, 3); 💡 Key Takeaway: Mastering these built-in methods helps in efficiently managing collections and solving real-world problems with ease. Consistency in practicing such concepts builds a strong foundation in Java development 💻✨ #Java #ArrayList #CollectionsFramework #Programming #Developers #LearningJourney #CodingSkills #KeepGrowing TAP Academy
To view or add a comment, sign in
-
-
Exception Handling in Java – My Learning Journey Today, I explored one of the most important concepts in Java – Exception Handling. 📌 What is an Exception? An exception is an unusual activity that occurs during the execution of a program due to faulty input, leading to abrupt termination. 💡 For example: When we divide a number by zero, the program stops immediately, and the remaining lines are not executed. This is called abrupt termination. ⚙️ Key Understanding - Exceptions do not occur at compile time - They occur during runtime (execution time) - When an exception happens: - An exception object is created - It is sent to the runtime system - If no handling is present → Default Exception Handler terminates the program 🛠️ How to Handle Exceptions? We use try-catch blocks to handle exceptions and ensure smooth program execution. ✔️ Risky code is placed inside "try" ✔️ Handling logic is written in "catch" This helps in avoiding abrupt termination and allows the program to continue normally. 🔁 Multiple Catch Blocks We can use multiple "catch" blocks for a single "try". 👉 Important rules: - Only one catch block executes based on the exception - Always write specific exceptions first - Keep generic exception (Exception e) at the end 📚 Types of Exceptions I Learned - Arithmetic Exception (e.g., division by zero) - Negative Array Size Exception - Input Mismatch Exception - Array Index Out of Bounds Exception - Null Pointer Exception 🎯 Key Takeaway Exception handling helps us prevent abrupt termination and ensures the program runs smoothly and safely. 💭 Learning Java step by step and building strong fundamentals in OOP and error handling! #Java #ExceptionHandling #Programming #CodingJourney #OOP #Learning #SoftwareDevelopment
To view or add a comment, sign in
-
-
🚀 Mastering Stack in Java: A Common Mistake & Learning Moment! While working on a classic problem—Balanced Brackets using Stack—I came across a subtle but important mistake that many learners (and even developers!) tend to make. 🔍 The Problem Check whether a given string of brackets like {[()]} is balanced or not. 💡 The Mistake Using: 👉 remove() instead of pop() At first glance, it seems fine… but here’s the catch: ❌ remove() → removes element from anywhere in the stack ✅ pop() → removes the top element (LIFO principle) And Stack is all about Last In First Out! ⚠️ Why this matters? Without proper matching and order, your logic may incorrectly validate unbalanced expressions. 🧠 Key Learnings ✔ Always follow LIFO in stack problems ✔ Match opening & closing brackets correctly ✔ Check for empty stack before popping ✔ Validate final stack is empty 💻 Correct Java Program import java.util.*; public class StackBasedProgram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = 4; while (n-- > 0) { String token = sc.next(); Stack<Character> st = new Stack<>(); boolean isBalanced = true; for (char c : token.toCharArray()) { if (c == '{' || c == '(' || c == '[') { st.push(c); } else if (c == '}' || c == ')' || c == ']') { if (st.isEmpty()) { isBalanced = false; break; } char top = st.pop(); if ((c == '}' && top != '{') || (c == ')' && top != '(') || (c == ']' && top != '[')) { isBalanced = false; break; } } } if (!st.isEmpty()) { isBalanced = false; } System.out.println(isBalanced); } } } ✨ Takeaway Small mistakes in method selection can completely change program behavior. Understanding the core concept is more important than just making the code run! 📌 This is a great exercise for students learning: Data Structures (Stack) Problem Solving Debugging skills 💬 Have you ever made a small mistake that taught you a big concept? Share your experience! #Java #DataStructures #Stack #Coding #Programming #Debugging #Learning #InterviewPreparation #Developers #ProblemSolving
To view or add a comment, sign in
-
🚀 TreeMap in Java Collections Continuing my journey in Map-based collections, I explored TreeMap, which introduces sorting + ordering with keys. 🔹 What is TreeMap? TreeMap is a class in Java Collections Framework Stores data as key-value pairs (K, V) Maintains sorted order of keys 👉 By default: Sorting is ascending (natural order) 🔹 Key Features Stores data as (Key, Value) pairs ✅ Maintains sorted order ❌ No duplicate keys allowed ❌ Does not allow null keys ✅ Allows multiple null values ⚠️ Heterogeneous keys allowed only with Comparator 🔹 Internal Structure Backed by: Red-Black Tree (Balanced BST) 👉 Automatically maintains: Sorted structure Efficient search, insert, delete 🔹 Sorting Mechanism Natural Sorting → using Comparable Custom Sorting → using Comparator 🔹 Constructors TreeMap() TreeMap(Comparator c) TreeMap(Map m) TreeMap(SortedMap m) 🔹 Important Methods put(K key, V value) get(Object key) remove(Object key) firstKey() ⭐ lastKey() ⭐ headMap() tailMap() subMap() containsKey() containsValue() 🔹 Traversal (Accessing Elements) For-each: for (Map.Entry<K, V> entry : map.entrySet()) { entry.getKey(); entry.getValue(); } Iterator: Iterator<Map.Entry<K, V>> it = map.entrySet().iterator(); Stream (Java 8): map.entrySet().stream().forEach(...) 🔹 Performance Insert → O(log n) Search → O(log n) Slower than HashMap (due to sorting) 🔹 TreeMap vs HashMap vs LinkedHashMap HashMap → No order LinkedHashMap → Insertion order TreeMap → Sorted order 👉 TreeMap is best when: Sorting is required automatically Range-based operations are needed 🔹 When to Use TreeMap? When sorted data is required When performing range queries When working with ordered keys 🔹 Learning Outcome Strong understanding of sorted map structures Difference between HashMap, LinkedHashMap, TreeMap Clear idea of Comparable vs Comparator Ability to choose correct Map implementation 🙌 Special thanks to the amazing trainers at TAP Academy: kshitij kenganavar Sharath R MD SADIQUE Bibek Singh Vamsi yadav Hemanth Reddy Harshit T Ravi MagadumSomanna M G Rohit Ravinder TAP Academy #TapAcademy #Week13Learning #CoreJava #CollectionsFramework #TreeMap #HashMap #LinkedHashMap #DataStructures #JavaInternals #LearningByDoing #FullStackJourney #VamsiLearns
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development