Unit 2 Part 2 Summary on Loops (2.7-2.12)
From CS Awesome 2CC BY-NC-SA 4.0Original page
Java1 class period3 exercises4 graded tests
Files
Unit 2 Part 2 Summary on Loops (2.7-2.12)
Each coding exercise has its own folder. Open its .java file and press Run to try it. Run Tests checks every graded exercise in this lesson at once.
In the second half of this unit, lessons 2.7-2.12, you learned about loops. Loops are used to repeat a statement or block of statements inside a pair of curly braces.
Concept Summary
- Body of a Loop - The single statement or a block of statements that can be repeated (a loop may not execute at all if the condition is false to start with). In Java the body of the loop is either the first statement following a
whileorforloop is the body of the loop or a block of statements enclosed in{and}. - For Loop - A loop that has a header with 3 optional parts: initialization, condition, and change. It does the initialization one time before the body of the loop executes, executes the body of the loop if the condition is true, and executes the change after the body of the loop executes before checking the condition again.
- Infinite Loop - A loop that never ends.
- Loop - A way to repeat one or more statements in a program.
- Nested Loop - One loop inside of another.
- Out of Bounds error - A run-time error that occurs when you try to access past the end of a string or list in a loop.
- Trace Code - Writing down the values of the variables and how they change each time the body of the loop executes.
- While Loop - A loop that repeats while a Boolean expression is true.
Java Keyword Summary
- while - used to start a while loop
- for - used to start a for loop or a for each loop
- System.out.println(variable) - used to print the value of the variable. This is useful in tracing the execution of code and when debugging.
Vocabulary Practice
Check your understanding: Drag the definition from the left and drop it on the correct concept on the right. — answer it on CS Awesome: https://runestone.academy/ns/books/published/csawesome2/loops-summary.html#vocabloops1
Check your understanding: Drag the definition from the left and drop it on the correct method on the right. — answer it on CS Awesome: https://runestone.academy/ns/books/published/csawesome2/loops-summary.html#vocabloops2
For more practice, see this Quizlet.
Common Mistakes
- Forgetting to change the thing you are testing in a
whileloop and ending up with an infinite loop. - Getting the start and end conditions wrong on the
forloop. This will often result in you getting an out of bounds error. An out of bounds error occurs when you try to access past the end of a string. - Jumping out of a loop too early by using one or more return statements inside of the loop.
Here is an example of a while loop that doesn’t ever change the value in the loop so it never ends. If you run it press Ctrl+C in the terminal to stop it. Fix it.
Exercise 1
Fix the infinite loop so that it counts from 3 down to 1.
Open the
01-while-loop-mistake1folder and editLoop1.java. Press Run to try it; Run Tests checks it (1 test).
Here is an example of going past the bounds of a string. This code should double all but the first and last letter in message. Fix the code so that it doesn’t cause an out of bounds error.
Exercise 2
Fix the test condition in the loop below so that it doesn’t cause an out of bounds error.
Open the
02-while-loop-oobfolder and editLoop2.java. Press Run to try it; Run Tests checks it (1 test).
Here is an example of jumping out of a loop too early. The code below is intended to test if all of the letters in a string are in ascending order from left to right. But, it doesn’t work correctly. Can you fix it?
Exercise 3
Fix the code so it does not leave the loop too early. When should you return true or false?
Open the
03-while-loop-early-leavefolder and editLoop3.java. Press Run to try it; Run Tests checks it (2 tests).
For teachers
Unit 2 Part 2 Summary on Loops (2.7-2.12)
Students read CSAwesome2's “Unit 2 Part 2 Summary on Loops (2.7-2.12)” in CS Room and work through its 3 Java coding exercises.
- Time: 1 class period
- Tests: 4 in 3 graded exercises, set up for you when you import the lesson
Goals
- Practice for topics 2.7–2.12: 2.7 While Loops, 2.8 For Loops, 2.9 Implementing Selection and Iteration Algorithms, 2.10 Implementing String Algorithms, 2.11 Nested Iteration, 2.12 Informal Runtime Analysis of Loops.
Before class
- Import the lesson into your class from the Lessons page, or with New assignment → Use a lesson. It arrives as a draft with its tests already set up.
- Publish it.
- The original page, with its matching questions, is on CS Awesome: https://runestone.academy/ns/books/published/csawesome2/loops-summary.html
- CS Awesome's own teacher materials: the CS Awesome teacher site
In class
- Students read
README.md. Questions that need CS Awesome's interactive widgets link back to it. - Students do exercises 01–03, each in its own folder, pressing Run to try their code.
- Run Tests checks every graded exercise at once; scores appear in the Gradebook. Grading uses your copy of the tests, so a student who edits theirs does not change the grade.
Exercises
| Folder | File | Grading | Tests |
|---|---|---|---|
01-while-loop-mistake1 | Loop1.java | Autograded | 1 |
02-while-loop-oob | Loop2.java | Autograded | 1 |
03-while-loop-early-leave | Loop3.java | Autograded | 2 |
Teachers can download a reference solution after signing in.