Skip to content
QuizMaker logoQuizMaker
Activity
Java Programming: From Zero to Enterprise
1. Java Fundamentals
1. Getting Started with Java & the JVM
2. Data Types & Variables
3. Control Flow: Ifs & Loops
4. String Manipulation in Depth
5. Methods (Functions) Architecture
6. Arrays & The Enhanced For Loop
7. User Input via Scanner
8. Mathematical Operations & The Math Class
9. Operators in Depth
10. Block Scope & Variable Lifecycles
11. Introduction to Object-Oriented Programming
12. Classes & Instances Deep Dive
13. Constructors
14. Encapsulation & The 'this' Keyword
15. Inheritance: Extending Functionality
16. Polymorphism & Method Overriding
17. Abstraction & Abstract Classes
18. Interfaces: The Ultimate Contract
19. Packages & Access Modifiers
20. Enums (Enumerations)
21. Exceptions: Handling Runtime Errors
22. The 'throw' and 'throws' keywords
23. Dates, Times, and Formatting
24. Enumerable Data Structures
25. LinkedLists: The Alternative
26. HashMaps: Key-Value Architecture
27. HashSets: The Art of Uniqueness
28. Iterator: Safe Collection Traversal
29. Wrapper Classes & Autoboxing
30. Basic File I/O
31. Generics: Type-Safe Templates
32. Lambda Expressions & Functional Interfaces
33. The Stream API: Functional Data Pipelines
34. Optional: Beating the NullPointerException
35. Multithreading & Concurrency Basics
36. JDBC: Connecting to SQL Databases
37. Annotations & Reflection
38. The JVM Garbage Collector
39. Introduction to Spring Boot
40. Unit Testing with JUnit
41. Java Collections for DSA
CONTENTS

10. Block Scope & Variable Lifecycles

Understanding exactly where variables exist and when they die.

Feb 22, 202624 views0 likes0 fires
18px

[!NOTE] In Java, variables do not live forever. A variable is born when it is declared, and it dies when its surrounding "Block" finishes executing. This is called Scope.

What is a Block?

A block of code refers to all of the code enclosed between curly braces { and }.

Variables are only accessible inside the block they are created in. Furthermore, they are only accessible after the exact line they are declared on.

public class Main {
  public static void main(String[] args) {
    
    // Code here CANNOT use x
    
    { // A block artificially begins here!

      int x = 100;

      // Code here CAN use x
      System.out.println(x);
      
    } // The block ends here. The variable 'x' is immediately destroyed in memory!

    // Code here CANNOT use x
  }
}

Practical Scope: For Loops

A very common practical example of Scope involves for loops.

When you declare your iterator variable int i = 0 inside the parenthesis of a for loop, that variable i is strictly scoped to the loop itself. You cannot access i once the loop finishes computing.

for (int i = 0; i < 5; i++) {
    System.out.println(i); // This is perfectly fine.
}

System.out.println(i); // COMPILATION ERROR! 'i' no longer exists!

If you need to know the value of i after the loop finishes (for example, to know exactly what index caused a failure), you must declare i in the block above the loop!

int i = 0; // Raised scope

for (i = 0; i < 5; i++) {
    if (i == 3) { break; }
}

System.out.println("The loop broke at index: " + i); // This works beautifully!

Share this article

Share on TwitterShare on LinkedInShare on FacebookShare on WhatsAppShare on Email

Test your knowledge

Take a quick quiz based on this chapter.

easyJava
Quiz: Scope
7 questions5 min

Continue Learning

11. Introduction to Object-Oriented Programming

Beginner
10 min

12. Classes & Instances Deep Dive

Beginner
12 min

13. Constructors

Beginner
8 min
Lesson 10 of 10 in 1. Java Fundamentals
Previous in 1. Java Fundamentals
9. Operators in Depth
Completed
You finished this lesson → take the quiz
7 questions • 5 min
Next section: 2. Object-Oriented Programming
← Back to Java Programming: From Zero to Enterprise
Back to Java Programming: From Zero to EnterpriseAll Categories