📘 **Day 17 – Java Learning Journey** Today I explored one of the most important concepts in Java: **Strings**. Here are some key points I learned while practicing and analyzing my notes: 🔹 **What is a String?** A String is a sequence (collection) of characters enclosed within double quotes. Example: `"Java"` 🔹 **Strings are Objects in Java** Unlike primitive data types, Strings are objects created from the `String` class. 🔹 **Immutable Nature of Strings** Strings in Java are **immutable**, meaning once a String object is created, its value cannot be changed. 🔹 **Different Ways to Create Strings** 1️⃣ `String s = "Java";` → Stored in the **String Constant Pool** 2️⃣ `String s = new String("Java");` → Stored in **Heap Memory** 3️⃣ Using character arrays 🔹 **String Comparison Methods** ✔ `==` → Compares **references (memory location)** ✔ `.equals()` → Compares **values/content** ✔ `.compareTo()` → Compares **character by character** ✔ `.equalsIgnoreCase()` → Compares **ignoring case differences** 🔹 **String Concatenation** Strings can be combined using: • `+` operator • `concat()` method Understanding concepts like **String Constant Pool, Heap Memory, and Reference Comparison** helped me clearly see how Java manages memory. Every day I’m learning something new and strengthening my Java fundamentals step by step. 🚀 #Java #Programming #LearningJourney #JavaDeveloper #ComputerScience #Coding TAP Academy
Java Strings: Understanding Objects, Immutable Nature, and Comparison Methods
More Relevant Posts
-
🚀 I completed Day 3 of my Java learning using the W3Schools platform.Today, I studied about java Operators, Strings, and Type Casting.” This helped me understand how Java handles data transformation and manipulation. First, I learned about Type Casting, which is used to convert one data type into another. I understood that Java is a strictly typed language, so data must be converted carefully when moving between different types. I also learned about automatic casting (widening) such as converting "int" to "double", and manual casting (narrowing) where a larger type like "double" is converted to a smaller type like "int", which may cause loss of decimal values. Next, I explored operators in Java, which act as the logic engine of a program. These include arithmetic operators ("+ - * / %"), assignment operators, comparison operators ("==, >, <, >=, <="), and logical operators ("&&, ||, !"). I also learned how the “+” operator can be used not only for arithmetic calculations but also for string concatenation. Another important concept I studied was Strings in Java. I learned that strings are objects with built-in methods that allow us to analyze and manipulate text. Some useful string methods include "length()", "charAt()", "indexOf()", and "toUpperCase()" which help in processing text data effectively. Finally, I saw how these concepts work together in a practical example where operators, type casting, and string concatenation are used to calculate and display a score percentage in a program. #Java #Programming #LearningJourney #SoftwareDevelopment #W3schools
To view or add a comment, sign in
-
Day 42 of My Java Learning Journey – Rules of Interface Today I explored the Rules of Interfaces in Java, which play a crucial role in achieving abstraction, polymorphism, and loose coupling in object-oriented programming. An Interface acts like a contract that defines what a class must implement. 🔹 Key Rules of Interfaces in Java: 1️⃣ Interface acts as a contract When a class implements an interface, it must provide implementation for its methods. 2️⃣ Interfaces promote polymorphism An interface reference can point to objects of implementing classes, helping achieve flexibility and loose coupling. 3️⃣ Methods in an interface are automatically public and abstract Example: void fun(); → public abstract void fun(); 4️⃣ Specialized methods cannot be accessed directly using an interface reference They can be accessed by downcasting the interface reference. 5️⃣ If a class partially implements an interface, it must be declared abstract. 6️⃣ A class can implement multiple interfaces This avoids the diamond problem, since interfaces do not have constructors. 7️⃣ An interface cannot implement another interface Because interfaces only declare methods, not implementations. 8️⃣ An interface can extend another interface It can also extend multiple interfaces, enabling multiple inheritance in Java. 9️⃣ A class can extend a class and implement an interface simultaneously Order must be: extends → implements 🔟 Variables inside interfaces are automatically: public static final (constants) 1️⃣1️⃣ Marker Interface An empty interface used to mark a class (e.g., Serializable). 1️⃣2️⃣ Objects of interfaces cannot be created But interface references can point to implementing class objects, enabling polymorphism. #Java #JavaLearning #Interfaces #ObjectOrientedProgramming #ProgrammingJourney #DeveloperLearning
To view or add a comment, sign in
-
-
🚀 Day 30 | Core Java Learning Journey 📌 Topic: Map Hierarchy in Java Today, I explored the Map Hierarchy in Java Collections Framework — understanding how different Map interfaces and classes are structured and related. 🔹 What is Map in Java? ✔ Map is an interface that stores key-value pairs ✔ Each key is unique and maps to a specific value ✔ It is part of java.util package 🔹 Map Hierarchy (Understanding Structure) ✔ Map (Root Interface) ⬇ ✔ SortedMap (extends Map) ⬇ ✔ NavigableMap (extends SortedMap) ⬇ ✔ TreeMap (implements NavigableMap) 🔹 Important Implementing Classes ✔ HashMap • Implements Map • Does NOT maintain order • Allows one null key ✔ LinkedHashMap • Extends HashMap • Maintains insertion order ✔ TreeMap • Implements NavigableMap • Stores data in sorted order • Does NOT allow null key ✔ Hashtable • Implements Map • Thread-safe (synchronized) • Does NOT allow null key/value 🔹 Key Differences ✔ HashMap → Fast, no ordering ✔ LinkedHashMap → Maintains insertion order ✔ TreeMap → Sorted data ✔ Hashtable → Thread-safe but slower 📌 When to Use What? ✅ Use HashMap → when performance is priority ✅ Use LinkedHashMap → when insertion order matters ✅ Use TreeMap → when sorting is required ✅ Use Hashtable → when thread safety is needed 💡 Key Takeaway: Understanding Map hierarchy helps in choosing the right data structure based on use-case rather than just coding blindly. 🙏 Special thanks to Vaibhav Barde Sir for the guidance! 🔥 #CoreJava #JavaLearning #JavaDeveloper #Map #HashMap #TreeMap #LinkedHashMap #Hashtable #JavaCollections #Programming #LearningJourney
To view or add a comment, sign in
-
-
DAY 29: CORE JAVA 🔗 Constructor Chaining in Java using "super()" (Inheritance) While learning Java OOP concepts, one interesting topic I explored is Constructor Chaining in Inheritance. 📌 What is Constructor Chaining? Constructor chaining is the process of calling one constructor from another constructor. In inheritance, a child class constructor calls the parent class constructor using "super()". This ensures that the parent class variables are initialized before the child class variables. ⚙️ Key Points to Remember • "super()" is used to call the parent class constructor. • It must be the first statement inside the child constructor. • If we don’t explicitly write "super()", Java automatically calls the parent class default constructor. • This mechanism ensures proper initialization of objects in inheritance hierarchy. 💡 Example Scenario Parent Class: class Test1 { int x = 100; int y = 200; } Child Class: class Test2 extends Test1 { int a = 300; int b = 400; } When an object of "Test2" is created, Java first calls the parent constructor, initializes "x" and "y", and then initializes "a" and "b". 📊 Execution Flow 1️⃣ Object of child class is created 2️⃣ Child constructor calls "super()" 3️⃣ Parent constructor executes first 4️⃣ Control returns to child constructor This concept is very important for understanding object initialization, inheritance hierarchy, and memory allocation in Java. 🚀 Learning these small internal mechanisms of Java helps build a strong foundation in Object-Oriented Programming. TAP Academy #Java #OOP #ConstructorChaining #Inheritance #JavaProgramming #SoftwareDevelopment #CodingJourney
To view or add a comment, sign in
-
-
🚀 Day 29 | Core Java Learning Journey 📌 Topic: TreeSet in Java Today, I learned about TreeSet, an important class in the Java Collections Framework used when we need sorted and unique elements. 🔹 TreeSet in Java ✔ TreeSet is a class that implements NavigableSet ✔ It also indirectly implements SortedSet and Set ✔ Introduced in JDK 1.2 ✔ Stores unique elements only (no duplicates allowed) 🔹 Data Structure Used ✔ Based on Self-Balancing Binary Search Tree (Red-Black Tree) ❗ (important correction) ✔ Elements are stored in sorted order 🔹 Key Features ✔ Does NOT follow insertion order ✔ Follows natural sorting order (default) ✔ Allows custom sorting using Comparator ✔ Does NOT allow null elements ❌ ✔ Stores homogeneous data (same type, for proper comparison) 📌 Important Methods • add() – add element • remove() – delete element • contains() – check element • first() – returns first (smallest) element • last() – returns last (largest) element • higher() – next greater element • lower() – next smaller element 📌 Performance ✔ Operations like add, remove, search → O(log n) 📌 When to Use TreeSet? ✔ When you need: ✅ Sorted data ✅ Unique elements ✅ Range-based operations 💡 Note: Unlike HashSet, TreeSet focuses on sorting rather than speed. 🙏 Special thanks to Vaibhav Barde Sir for the guidance! 🔥 #CoreJava #JavaLearning #JavaDeveloper #TreeSet #SortedSet #NavigableSet #JavaCollections #Programming #LearningJourney
To view or add a comment, sign in
-
-
Java Learning Journey – Day 5 Today I explored one of the most commonly used concepts in Java — Strings. Strings are used to store and manipulate text data, and almost every Java application uses them in some way. 🔹 Key things I learned today: • Creating Strings – String name = "Java Learner"; • Concatenation – Joining two strings together using + • Finding Length – Using length() to know the size of a string • Accessing Characters – Using charAt() 🔹 Useful String Methods: • toUpperCase() / toLowerCase() – Change letter case • indexOf() / contains() – Search inside strings • substring() – Extract part of a string • replace() – Replace text • split() – Break string into parts • trim() – Remove extra spaces 💡 Why Strings are important? Because most real-world applications deal with text processing, user input, and data handling. Learning step by step and building a strong foundation in Java every day. If you're learning Java or working in development, feel free to connect and share your journey. 🤝 #Java #JavaDeveloper #Programming #CodingJourney #SoftwareDevelopment #LearnJava
To view or add a comment, sign in
-
-
📚 Day 20 at Tap Academy – Learning Strings in Java Today I learned about Strings in Java, a fundamental concept used in almost every program. 🔹 What is a String? A String is a collection of characters enclosed within double quotes (" "). In Java, Strings are objects, not primitive data types. 🔹 Types of Strings ✔️ Immutable Strings - Cannot be changed once created - Example: Name, Gender, DOB ✔️ Mutable Strings - Can be modified after creation - Example: Email ID, Password 🔹 Memory Concept - Strings created using literals are stored in the String Constant Pool (SCP) - Strings created using "new" keyword are stored in Heap Memory 🔹 Ways to Create Strings String s1 = "JAVA"; String s2 = new String("JAVA"); char[] ch = {'J','A','V','A'}; String s3 = new String(ch); 🔹 String Comparison ✔️ "==" → compares reference ✔️ ".equals()" → compares values String a = "Hello"; String b = "Hello"; System.out.println(a == b); // true System.out.println(a.equals(b)); // true 💡 Key Takeaway: Strings are powerful in Java, and understanding how they work helps in writing efficient and optimized code. #Java #Programming #Coding #JavaDeveloper #LearningJourney #TapAcademy #Day20
To view or add a comment, sign in
-
-
🚀 Today's Java learning: Constructors & Variable Shadowing! Just wrapped up a concept that clicked really well for me: 🔧 **Constructors** are special methods that run automatically when you create an object. They initialize your object's fields right from the start — no extra setup needed! ```java class Emp { int id; String name; int salary; public Emp(int id, String name, int salary) { this.id = id; // 'this' refers to the object this.name = name; this.salary = salary; } } ``` 🌑 **Variable Shadowing** happens when a constructor/method parameter has the **same name** as a class field. The parameter "shadows" the field inside that scope. The fix? Use **`this`** keyword to tell the JVM: "Hey, I mean the object's field, not the local parameter!" When you write `Emp e1 = new Emp(101, "Ajay", 40000);`, the JVM: 1. Allocates memory on the heap 2. Runs the constructor 3. Uses `this` to correctly assign values to the object's fields Small concept, big impact. Understanding `this` is foundational to writing clean OOP code! 💡 #Java #OOP #LearningInPublic #Programming #100DaysOfCode
To view or add a comment, sign in
-
-
📚 Today’s Learning: String Concatenation & "concat()" Method in Java In today’s class, I explored an important concept in Java called String Concatenation and the "concat()" method. 🔹 String Concatenation String concatenation is the process of combining two or more strings into a single string. In Java, this is commonly done using the "+" operator. It helps developers create meaningful text outputs by joining variables and messages together. 🔹 "concat()" Method Java also provides the "concat()" method, which is a built-in method of the String class. This method is used to append one string to another string, producing a new combined string. 🔹 Important Concept – String Immutability One key concept behind these operations is that Strings in Java are immutable. This means the original string cannot be changed; instead, a new string object is created when concatenation happens. 💡 Key Takeaway: - "+" is an operator used for concatenation - "concat()" is a method of the String class used to join strings Learning these fundamental concepts strengthens my Java programming foundation and helps me understand how strings work internally. #Java #Programming #LearningJourney #StudentDeveloper #Coding TapAcademy
To view or add a comment, sign in
-
-
Day 21 of Learning Java Continuing my Java journey! On Day 21, I learned about: ✅ Immutable Classes ✅ How Immutable Objects Work ✅ Defensive Copying ✅ Why String is Immutable ✅ Common Interview Questions on Immutability 🔹 What is an Immutable Class? An immutable class is a class whose object state cannot be changed after it is created. Once the object is initialized, its data remains constant throughout its lifetime. A common example in Java is the String class. 🔹 Key Rules to Create an Immutable Class To make a class immutable: • Declare the class as final • Make all variables private and final • Initialize variables through the constructor • Do not provide setter methods • If the class contains mutable objects, use defensive copying 🔹 What is Defensive Copying? Defensive copying means returning a copy of an object instead of the original reference so that the internal state of the object cannot be modified externally. 🔹 Why is String Immutable? (Very Common Interview Question) String is immutable mainly because of: • Security (used in networking, file paths, class loading) • Thread safety • String Pool optimization • Hashcode caching for performance 1️⃣ What is an immutable object? An object whose state cannot change after creation. 2️⃣ Why are immutable objects thread-safe? Because their state cannot be modified after creation. 3️⃣ Can immutable classes contain mutable objects? Yes, but they must use defensive copying. 4️⃣ Give examples of immutable classes in Java. String, Integer, Boolean, LocalDate. 5️⃣ What is the advantage of immutability? Better security, thread safety, and predictability. special thanks to Aditya Tandon Rohit Negi sir
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