📖 Scenario: Imagine you are counting how many times you can press a button until you decide to stop. You don't know in advance how many times you will press it. You want the program to keep counting as long as you want to press the button.
🎯 Goal: Build a simple Java program that uses a while loop to count button presses until the user decides to stop.
📋 What You'll Learn
Create an integer variable called count and set it to 0
Create a boolean variable called keepCounting and set it to true
Use a while loop with the condition keepCounting
Inside the loop, increase count by 1
Inside the loop, stop counting after 5 presses by setting keepCounting to false
Print the final value of count
💡 Why This Matters
🌍 Real World
While loops are used in real life when you keep doing something until a condition changes, like waiting for a traffic light to turn green.
💼 Career
Understanding while loops helps in programming tasks that require repeated actions until a condition is met, common in software development and automation.
Progress0 / 4 steps
1
Create the initial count variable
Create an integer variable called count and set it to 0.
Java
Hint
Think of count as your button press counter starting at zero.
2
Add a boolean variable to control the loop
Create a boolean variable called keepCounting and set it to true.
Java
Hint
This variable will help us decide when to stop counting.
3
Use a while loop to count button presses
Use a while loop with the condition keepCounting. Inside the loop, increase count by 1. Stop counting after 5 presses by setting keepCounting to false.
Java
Hint
The loop keeps running while keepCounting is true. We stop it when count reaches 5.
4
Print the final count
Write a System.out.println statement to print the value of count after the loop ends.
Java
Hint
Use System.out.println(count); to show the final count.
Practice
(1/5)
1. Why do we need a while loop in Java?
easy
A. To repeat code when the number of repetitions is unknown
B. To execute code only once
C. To declare variables
D. To stop the program immediately
Solution
Step 1: Understand the purpose of while loop
The while loop repeats code as long as a condition is true, useful when we don't know how many times to repeat.
Step 2: Compare with other options
Options A, B, and C do not describe repeating code based on a condition.
Final Answer:
To repeat code when the number of repetitions is unknown -> Option A
Quick Check:
While loop = repeat unknown times [OK]
Hint: While loops repeat until a condition becomes false [OK]
Common Mistakes:
Thinking while loops run a fixed number of times
Confusing while with if statements
Using while loop without changing the condition
2. Which of the following is the correct syntax to start a while loop in Java?
easy
A. while condition { }
B. while [condition] { }
C. while condition ( ) { }
D. while (condition) { }
Solution
Step 1: Recall Java syntax for while loops
Java requires parentheses around the condition and curly braces for the loop body: while (condition) { }.
Step 2: Check each option
while (condition) { } matches the correct syntax; others use wrong brackets or missing parentheses.
Final Answer:
while (condition) { } -> Option D
Quick Check:
Correct syntax = while (condition) { } [OK]
Hint: Remember: while needs parentheses around condition [OK]
Common Mistakes:
Omitting parentheses around the condition
Using square brackets instead of parentheses
Placing condition outside parentheses
3. What will be the output of this Java code?
int count = 1;
while (count <= 3) {
System.out.print(count + " ");
count++;
}
medium
A. 1 2 3
B. 1 2 3 4
C. 0 1 2 3
D. Infinite loop
Solution
Step 1: Analyze the loop condition and variable
The loop starts with count = 1 and runs while count is less than or equal to 3.
Step 2: Trace each iteration output
It prints 1, then increments to 2, prints 2, increments to 3, prints 3, increments to 4, then stops because 4 > 3.
Final Answer:
1 2 3 -> Option A
Quick Check:
Prints 1 to 3 with spaces [OK]
Hint: Count from 1 to 3 prints 1 2 3 [OK]
Common Mistakes:
Expecting 4 to be printed
Confusing <= with <
Forgetting to increment count
4. Identify the problem in this code snippet:
int i = 0;
while (i < 5) {
System.out.println(i);
}
medium
A. Missing semicolon after while
B. Variable i is not declared
C. Infinite loop because i is never updated
D. Syntax error in print statement
Solution
Step 1: Check loop condition and variable update
The loop condition is i < 5, but i is never changed inside the loop.
Step 2: Understand effect of no update
Since i stays 0, the condition is always true, causing an infinite loop.
Final Answer:
Infinite loop because i is never updated -> Option C
Quick Check:
No increment = infinite loop [OK]
Hint: Always update loop variable inside while [OK]
Common Mistakes:
Forgetting to increment or change loop variable
Assuming loop stops automatically
Confusing syntax errors with logic errors
5. You want to read user input repeatedly until they type "exit". Which code snippet correctly uses a while loop for this?
hard
A. String input = scanner.nextLine();
while (input.equals("exit")) {
System.out.println("You typed: " + input);
input = scanner.nextLine();
}
B. String input = "";
while (!input.equals("exit")) {
input = scanner.nextLine();
System.out.println("You typed: " + input);
}
C. while (true) {
String input = scanner.nextLine();
if (input.equals("exit")); break;
System.out.println("You typed: " + input);
}
D. String input;
do {
input = scanner.nextLine();
System.out.println("You typed: " + input);
} while (!input.equals("exit"));
Solution
Step 1: Understand the goal
We want to keep reading input until the user types "exit".
Step 2: Analyze each option
String input = "";
while (!input.equals("exit")) {
input = scanner.nextLine();
System.out.println("You typed: " + input);
} initializes input as empty string, then loops while input is not "exit", reading new input inside the loop. This matches the requirement. String input = scanner.nextLine();
while (input.equals("exit")) {
System.out.println("You typed: " + input);
input = scanner.nextLine();
} loops only while input equals "exit", which is opposite. while (true) {
String input = scanner.nextLine();
if (input.equals("exit")); break;
System.out.println("You typed: " + input);
} uses an infinite loop with break, but the semicolon after if makes break always execute, stopping after first input. String input;
do {
input = scanner.nextLine();
System.out.println("You typed: " + input);
} while (!input.equals("exit")); uses a do-while loop, not a while loop.
Final Answer:
String input = "";
while (!input.equals("exit")) {
input = scanner.nextLine();
System.out.println("You typed: " + input);
} -> Option B
Quick Check:
While loop with condition != "exit" works [OK]
Hint: Use while with condition checking input before loop body [OK]
Common Mistakes:
Using wrong loop condition
Confusing while with do-while
Not updating input inside loop
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.