💻 Exploring Java Data Types & Literals While revisiting Java fundamentals, I explored how literals work with different data types. Literals are fixed values assigned directly in code, and Java provides some interesting ways to use them. 📌 Here are some useful things I learned: 🔹 Binary Literal (Base 2) We can write numbers in binary using 0b Example: int num = 0b101; // Output: 5 🔹 Hexadecimal Literal (Base 16) We can use 0x to represent hexadecimal values Example: int num2 = 0x7E; // Output: 126 🔹 Using Underscore for Readability Underscores can be used to make large numbers more readable Example: int num3 = 10_00_000; // Output: 1000000 🔹 Scientific Notation (e-notation) Used to represent large values in floating-point numbers Example: double numd = 12e10; 🔹 Character Increment Trick Characters in Java are internally stored as numbers (ASCII/Unicode), so we can increment them: Example: char c = 'a'; c++; // Output: 'b' 📌 In simple terms: These features make Java code more readable and also reveal how data is handled internally. Continuing to strengthen my Java fundamentals step by step 🚀 #Java #Programming #LearningJourney #JavaBasics #BackendDevelopment
Deepak Kale’s Post
More Relevant Posts
-
🚀 Day 49 – Mastering ArrayList Methods in Java Today I focused on one of the most powerful parts of the Java Collections Framework – the ArrayList and its important methods. 📌 Key Learnings: 🔹 Dynamic data structure (resizable array) 🔹 Allows duplicates & maintains insertion order 🔹 Efficient data manipulation using built-in methods 💡 Methods I explored: ✔ add() – Insert elements ✔ add(index, value) – Insert at specific position ✔ addAll() – Merge collections ✔ remove() / removeAll() – Delete elements ✔ retainAll() – Keep common elements ✔ set() – Replace values ✔ get() – Access elements ✔ size() – Count elements ✔ contains() – Search elements ✔ subList() – Extract partial data ✔ clear() – Remove all data ✔ trimToSize() – Optimize memory 🔥 Key Insight: Understanding the difference between add() vs set() is crucial: add() → shifts elements set() → replaces elements 📊 These methods are not just theory — they are heavily used in real-world applications for managing and processing data efficiently. 💭 Takeaway: Mastering ArrayList methods improves problem-solving and builds a strong foundation in Java programming. #Java #ArrayList #CollectionsFramework #Programming #CodingJourney #JavaDeveloper #Learning #Day49
To view or add a comment, sign in
-
-
📘 Deep Dive into Java Collections – LinkedList & Deque Recently, I explored LinkedList and Deque in Java to understand how dynamic data structures work internally. LinkedList is implemented using a doubly linked list, where elements are stored in non-contiguous memory locations. Each node contains data along with references to the previous and next nodes, enabling flexible memory usage. Unlike ArrayList, LinkedList does not require continuous memory allocation. This makes insertion and deletion operations efficient, especially in the middle or at the ends, with O(1) time complexity when the position is known. It supports heterogeneous data, allows duplicates, and preserves the order of insertion. The default capacity starts at zero and grows dynamically as elements are added. I also learned different ways to traverse a LinkedList: - Using a traditional for loop - Using an enhanced for-each loop - Using Iterator (forward traversal) - Using ListIterator (both forward and backward traversal) Another key concept I explored is Deque (Double-Ended Queue). It allows insertion and deletion at both ends, making it highly flexible. Common operations include: addFirst(), addLast(), offer(), poll(), peek(), getFirst(), and getLast() Queues follow FIFO (First In First Out), and Deque extends this by allowing operations from both ends. Key takeaway: Choosing the right data structure matters. LinkedList is highly efficient for frequent insertions and deletions, while ArrayList is better suited for fast random access. This exploration helped me understand internal implementations, time complexities, and practical use cases of Java Collections. #Java #DataStructures #LinkedList #Deque #Programming #LearningJourney #JavaCollections
To view or add a comment, sign in
-
ArrayDeque in Java Collections Continuing my deep dive into the Java Collections Framework, today I explored ArrayDeque, a powerful class for efficient data manipulation. 🔹 What is ArrayDeque? ArrayDeque is a class that implements the Deque (Double-Ended Queue) interface. It allows insertion and deletion from both ends (front & rear). 🔹 Key Characteristics Does not support indexing → no get(index) methods Default capacity → 16 Resizing → capacity grows as current × 2 Maintains insertion order Allows duplicates Allows heterogeneous data ❌ Does not allow null values 👉 Why null is not allowed? Because methods like poll() and peek() return null when the deque is empty. If null elements were allowed, Java wouldn’t be able to differentiate between: “No element” “Actual null value” 🔹 Constructors ArrayDeque() → default ArrayDeque(int capacity) → custom size ArrayDeque(Collection c) → from another collection 🔹 Hierarchy ArrayDeque → Deque → Queue → Collection → Iterable 🔹 Important Methods addFirst(), addLast() removeFirst(), removeLast() peek(), poll() offer(), offerFirst(), offerLast() 🔹 Traversal forEach() Iterator → forward traversal DescendingIterator → reverse traversal 👉 Traditional for loop & ListIterator not applicable (no indexing) 🔹 Performance Insertion/Deletion (both ends) → O(1) Faster than Stack and LinkedList for queue operations 🔹 When to Use? When you need fast insertion/removal at both ends When indexing is not required Preferred over Stack for stack operations 🔹 Learning Outcome Clear understanding of Deque structure Difference between index-based vs non-index structures Better decision-making for choosing the right collection Grateful to Tap Academy for building strong data structure foundations 🚀 🙌 Special thanks to the amazing trainers at TAP Academy: kshitij kenganavar Sharath R MD SADIQUE Bibek Singh Vamsi yadav Harshit T Ravi Magadum Somanna M G Rohit Ravinder TAP Academy #TapAcademy #Week13Learning #CoreJava #CollectionsFramework #ArrayDeque #DataStructures #JavaFundamentals #LearningByDoing #FullStackJourney #VamsiLearns
To view or add a comment, sign in
-
-
🗂️ Java Collections Framework When I first started Java, I just used ArrayList everywhere. 😅 Need a list? ArrayList. Need to store data? ArrayList. Need anything? ArrayList. Sound familiar? Then I discovered there's an entire UNIVERSE of data structures in Java — each built for a specific purpose. ━━━━━━━━━━━━━━━━━━━━━━ 🏗️ The Big Picture — Collections Hierarchy ━━━━━━━━━━━━━━━━━━━━━━ Java Collections has TWO separate hierarchies: 1️⃣ Collection (Iterable → Collection → List / Set / Queue) 2️⃣ Map (completely separate — Key-Value pairs) 📌 Collection Side: ▸ List → ordered, duplicates allowed → ArrayList, LinkedList, Vector, Stack ▸ Set → no duplicates → HashSet, LinkedHashSet, TreeSet ▸ Queue / Deque → FIFO / double-ended → PriorityQueue, ArrayDeque 📌 Map Side: ▸ HashMap → fast, unordered ▸ LinkedHashMap → insertion-order maintained ▸ TreeMap → sorted by keys ▸ Hashtable → legacy (avoid in new code) ━━━━━━━━━━━━━━━━━━━━━━ 🔑 The Golden Rule: ━━━━━━━━━━━━━━━━━━━━━━ Choosing the WRONG collection = slow code. Choosing the RIGHT collection = clean, efficient code. And that's exactly what this series is about. 🎯 📌 What's coming next in this series: ✅ ArrayList vs LinkedList — when does it actually matter? ✅ HashSet vs TreeSet — hashing vs sorting ✅ HashMap vs TreeMap vs LinkedHashMap ✅ Queue, Deque & PriorityQueue with real use cases ✅ Interview questions on Collections ━━━━━━━━━━━━━━━━━━━━━━ If you followed my OOPs series — this one is going to be even better. 🚀 Drop a 🙋 in the comments if you're in for this series!TAP Academy #Java #Collections #JavaDeveloper #Programming #DSA #100DaysOfCode #JavaSeries #SoftwareEngineering #LearningInPublic #LinkedInLearning#tapacademy
To view or add a comment, sign in
-
-
🚀 Learning Core Java – Understanding the Object Class Today I explored one of the most fundamental concepts in Java — the Object class. The Object class is the ultimate parent class of all classes in Java. Every class in Java implicitly extends java.lang.Object, even if we don’t explicitly mention it. 👉 This has been part of Java since JDK 1.0 🔹 Why is Object Class Important? Because every class inherits from it, the Object class provides common methods that can be used across all Java objects. 🔹 Methods in Object Class The Object class contains 12 important methods: ✔ toString() ✔ equals(Object obj) ✔ hashCode() ✔ getClass() ✔ clone() ✔ finalize() ⚠️ (Deprecated since JDK 9) ✔ wait() ✔ wait(long timeout) ✔ wait(long timeout, int nanos) ✔ wait0(long timeout) ✔ notify() ✔ notifyAll() 👉 These methods support comparison, hashing, threading, cloning, and more. 🔎 About finalize() • Used by the Garbage Collector internally • Intended for cleanup before object destruction • ⚠️ Deprecated since JDK 9 due to unpredictability and performance issues 🔹 Constructor in Object Class ✔ Object class has one constructor: 👉 Zero-parameterized constructor ✔ Its body is empty, but it plays a role in the object creation chain during inheritance. 💡 Key Insight 👉 Every object in Java inherits behavior from the Object class 👉 It forms the root of the Java class hierarchy 👉 Understanding it helps in mastering OOP, memory management, and core Java concepts Understanding the Object class is essential for building robust and scalable Java applications. Excited to keep strengthening my Java fundamentals! 🚀 #CoreJava #ObjectClass #JavaProgramming #OOP #JavaDeveloper #ProgrammingFundamentals #LearningJourney #SoftwareEngineering
To view or add a comment, sign in
-
-
. Understanding ForkJoinPool in Java (Simple Concept) When working with large datasets or CPU-intensive tasks in Java, processing everything in a single thread can be slow. This is where ForkJoinPool becomes very useful. ForkJoinPool is a special thread pool introduced in Java 7 that helps execute tasks in parallel using the Divide and Conquer approach. The idea is simple: • Fork – Break a big task into smaller subtasks • Execute – Run these subtasks in parallel threads • Join – Combine the results of all subtasks into the final result One of the most powerful features of ForkJoinPool is the Work-Stealing Algorithm. If a thread finishes its task early and becomes idle, it can steal tasks from other busy threads. This keeps the CPU efficiently utilized and improves performance. Common Use Cases • Parallel data processing • Large array computations • Sorting algorithms (like Merge Sort) • Parallel streams in Java • CPU-intensive calculations Important Classes • ForkJoinPool – Manages worker threads • RecursiveTask – Used when a task returns a result • RecursiveAction – Used when a task does not return a result In fact, when we use Java Parallel Streams, internally Java often uses ForkJoinPool to process tasks in parallel. Understanding ForkJoinPool is very helpful for writing high-performance multithreaded applications in Java. #Java #ForkJoinPool #Multithreading #JavaConcurrency #BackendDevelopment #JavaDeveloper #SoftwareEngineering
To view or add a comment, sign in
-
Day 51-What I Learned In a Day (JAVA) Today I stepped into the next important concept in Java -Non-Static Members. Unlike static members, non-static members belong to an object, not the class. This means they require an instance of the class to be accessed. What are Non-Static Members? Non-static members include: • Non-static variables (instance variables) • Non-static methods • Constructors Key Understanding: 🔹 Instance Variables Each object has its own copy of variables. Changes in one object do not affect another. 🔹 Non-Static Methods These methods can directly access both static and non-static members. They require object creation to be called. 🔹 Object Creation is Mandatory !To access non-static members: ClassName obj = new ClassName(); Important Difference I Learned: • Static → Belongs to class (no object needed) • Non-Static → Belongs to object (object required) What I Realized Today: Understanding non-static members is crucial because real-world applications mainly work with objects. This concept is the base for Object-Oriented Programming (OOP). #Java #OOP #Programming #LearningJourney #DeveloperLife
To view or add a comment, sign in
-
Day 03🚀 Mastering Variables in Java – The Building Blocks of Programming 💡 If you're starting your journey in Java, understanding *variables* is one of the most important first steps. Let’s simplify the key rules you must follow 👇 🔹 **What is a Variable?** A variable is a container that stores data values. In Java, every variable must have a *data type*. Example: `int age = 20;` 🔹 **Rules for Declaring Variables in Java:** ✅ Must start with a letter, underscore (_) or dollar sign ($) ❌ Cannot start with a number ✅ Can contain letters, digits, _ and $ ❌ No spaces allowed ✅ Cannot use Java keywords (like `int`, `class`, `public`) ✅ Variable names are *case-sensitive* 👉 `age` and `Age` are different 🔹 **Best Practices 💡** ✔ Use meaningful names (`studentName` instead of `sn`) ✔ Follow camelCase style (`firstName`, `totalMarks`) ✔ Keep it simple and readable 🔹 **Types of Variables in Java:** 📌 Local Variable – declared inside a method 📌 Instance Variable – belongs to an object 📌 Static Variable – shared among all objects 🌟 *Strong basics lead to strong coding skills.* Start small, stay consistent, and keep practicing! #Java #Programming #Coding #DSA #Learning #TechSkills #Developers #JavaBasics #loveBabbar Love Babbar
To view or add a comment, sign in
-
-
Day 03 — Also learned something in Java today that I never even heard of before. Tokens. Yeah. Tokens. Let me explain it simply because when I first saw the word I thought it was something complicated. It's actually pretty cool. What is a Token in Java? A Token is the smallest unit in a Java program. Like when you write a sentence — the smallest unit is a word, right? In Java, when the compiler reads your code — it breaks everything down into small pieces called Tokens. There are 5 types of Tokens in Java: 1. Keywords — Reserved words Java already knows Example: `int`, `class`, `if`, `return` 2. Identifiers— Names YOU give to variables, methods, classes Example: `myName`, `totalMarks` 3. Literals— Actual values written in code Example: `10`, `"Hello"`, `true` 4. Operators— Symbols that perform operations Example: `+`, `-`, `=`, `>` **5. Separators** — Punctuation that structures code Example: `{ }`, `( )`, `;` So when you write even one simple line like: `int age = 21;` The compiler sees — a keyword, an identifier, an operator, a literal, and a separator. That one line has 5 tokens. Honestly these small concepts are building my foundation and I am not rushing it anymore. Are you also learning Java? Let me know where you are #Day11 #JavaLearning #JavaBasics #Tokens #QAJourney #ManualTesting #LearningInPublic #BeginnersInTech #SoftwareTesting
To view or add a comment, sign in
-
⚡ Java 8 Lambda Expressions — Write Less, Do More Java 8 completely changed how we write code. What once required verbose boilerplate can now be expressed in a single, clean line 👇 🔹 Before Java 8 Runnable r = new Runnable() { public void run() { System.out.println("Hello World"); } }; 🔹 With Lambda Expression Runnable r = () -> System.out.println("Hello World"); 💡 What are Lambda Expressions? A concise way to represent a function without a name — enabling you to pass behavior as data. 🚀 Where Lambdas Really Shine ✔️ Functional Interfaces (Runnable, Comparator, Predicate) ✔️ Streams & Collections ✔️ Parallel Processing ✔️ Event Handling ✔️ Writing clean, readable code 📌 Real-World Example List<String> names = Arrays.asList("Java", "Spring", "Lambda"); // Using Lambda names.forEach(name -> System.out.println(name)); // Using Method Reference (cleaner) names.forEach(System.out::println); 🔥 Pro Tip Lambdas are most powerful when used with functional interfaces — that’s where Java becomes truly expressive. 💬 Java didn’t just become shorter with Lambdas — it became smarter and more functional. 👉 What’s your favorite Java 8+ feature? Drop a 🔥 or share below! #Java #Java8 #LambdaExpressions #Programming #BackendDevelopment #SoftwareEngineering
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