★ India’s Student Guidance Platform

Iterative Constructs in Java (Loops) — ICSE Class 10 Computer Applications

ICSE Class 10 Computer Applications chapter card: Iterative Constructs in Java (loops)

Ek baar likho, sau baar chalao — loops ka poora jaadu isi ek line mein hai. Table print karni ho, factorial nikaalna ho, ya star ka pattern banana ho, har jagah iterative constructs lagte hain. ICSE Class 10 Computer Applications mein yeh Unit 1 (Revision of Class IX) ka hissa hai, aur Section B ke lambe programs mein sabse zyada isi ka istemaal hota hai. Chaliye, teeno loops ko ek-ek karke pakadte hain.

Why Loops? The Four Parts of Every Loop

Maan lo tumhe 1 se 100 tak ke numbers print karne hain. Sau baar System.out.println() likhoge? Nahi. Ek loop likhoge. Har loop mein chaar cheezein hoti hain — aur agar inme se ek bhi galat ho gayi, program ya toh kam baar chalega, ya hamesha ke liye chalta rahega:

Key Rule — The Four Parts
1. Initialization — counter kahan se shuru ho.
2. Condition — kab tak chale (boolean hona chahiye).
3. Body — har baar kya kaam ho.
4. Updation — counter aage kaise badhe.
Updation bhoolna = infinite loop. Yeh sabse aam loop-related galti hai.

↑ Back to top

The for Loop

Jab tumhe pehle se pata ho ki loop kitni baar chalega, tab for sabse saaf hai — kyunki teeno cheezein (initialization, condition, updation) ek hi line mein dikhti hain.

for (initialization; condition; updation)
{
    statement(s);
}
Example 1 — Pehle paanch numbers
for (int i = 1; i <= 5; i++)
{
    System.out.print(i + " ");
}
System.out.println();
System.out.println("Loop over");

Output:

1 2 3 4 5 
Loop over

Condition i <= 5 chhathi baar (i = 6) false ho jaati hai, isliye loop wahin ruk jaata hai. Body paanch baar chali.

Example 2 — Factorial (ginti pehle se pata hai)
int n = 5, f = 1;
for (int i = 1; i <= n; i++) f = f * i;
System.out.println("Factorial of " + n + " = " + f);

Output:

Factorial of 5 = 120

Yeh for ka classic case hai — kitni baar chalna hai (n baar) pehle se pata hai. Ek hi cheez ka dhyaan rakho: f ki initial value 1 honi chahiye, 0 nahi, warna sab kuch 0 ho jaayega.

Common Mistake — Off-by-one
i < 5 aur i <= 5 mein ek poora iteration ka farak hai. “First n numbers” ke liye i = 1; i <= n likho. Aur ek aur trap: for (int i = 1; i <= 5; i++); — yahan bhi semicolon loop ka body khaali kar deta hai.
Exam Tip
Loop ke baad counter ki value poochi jaa sakti hai. Yaad rakho: loop tab rukta hai jab condition false hoti hai, isliye counter hamesha last valid value se ek aage hota hai. Par for (int i…) mein i loop ke bahar exist hi nahi karta — use karoge toh compile error milega.

↑ Back to top

The while Loop

Jab count pehle se pata na ho — “jab tak number 0 se bada hai”, “jab tak user quit na kare” — tab while natural choice hai. Yahan initialization loop se pehle aur updation body ke andar likhni padti hai.

Example 1 — 1 se 10 tak ka sum
int i = 1, sum = 0;
while (i <= 10)
{
    sum = sum + i;
    i++;
}
System.out.println("Sum of 1 to 10 = " + sum);
System.out.println("i after loop = " + i);

Output:

Sum of 1 to 10 = 55
i after loop = 11

Dhyaan do: i loop ke baad 11 hai, 10 nahi. Yeh exactly wahi cheez hai jo examiner “value of i after the loop” wale question mein test karta hai.

Dry-Run Table — upar wale program ka trace

Yahi table hai jo tumhe har output question par kaagaz par banani hai. Ek column har variable ka, ek column condition ka, ek column output ka:

Iterationii <= 10 ?sum after body
11true1
22true3
33true6
44true10
1010true55
exit11false55 (final)

Aakhri (laal) row hi woh row hai jahan zyadatar marks jaate hain — loop ke baad i 11 hai, 10 nahi. Har dry-run mein yeh exit row zaroor likho.

Example 2 — Number reverse karna (ginti pehle se pata nahi)
int m = 1234, rev = 0;
while (m > 0)
{
    int d = m % 10;
    rev = rev * 10 + d;
    m = m / 10;
}
System.out.println("Reverse of 1234 = " + rev);

Output:

Reverse of 1234 = 4321

Yeh while ka canonical example hai: number mein kitne digits hain, yeh pehle se pata nahi — bas “jab tak m bacha hai” chalte raho. Digit nikalne ka jodi-formula yaad kar lo: % 10 se aakhri digit milta hai, / 10 se woh hata deta hai, aur rev * 10 + d use nayi jagah jodta hai. Palindrome aur Armstrong dono programs isi par khade hain.

Common Mistake — Missing i++
while mein updation body ke andar likhni padti hai, aur wahi sabse zyada bhooli jaati hai. Bina i++ ke condition kabhi false nahi hogi — program hamesha chalta rahega. BlueJ mein aisa program manually rokna padta hai.

↑ Back to top

The do…while Loop

Iska ek hi khaas gun hai: body kam se kam ek baar zaroor chalti hai, chahe condition shuru se hi false ho. Kyunki condition neeche check hoti hai. Aur haan — while ke baad semicolon lagta hai.

do
{
    statement(s);
}
while (condition);   // yeh semicolon zaroori hai
Example 1 — Wahi false condition, do alag natije
int i = 11;
while (i <= 10)
{
    System.out.println("while body: " + i);
    i++;
}

int j = 11;
do
{
    System.out.println("do-while body: " + j);
    j++;
}
while (j <= 10);

Output:

do-while body: 11

Yehi poora output hai. while ka body ek baar bhi nahi chala (11 <= 10 shuru se hi false tha), par do…while ka ek baar chal gaya. Yeh 2-mark ka pakka question hai — isse dohra lo.

Exam Tip
Menu-driven programs mein do…while perfect fit hai — menu kam se kam ek baar toh dikhna hi chahiye, phir user ke choice par dohraana hai. Answer likhte waqt yeh reason likh dena extra impression banata hai.

↑ Back to top

Entry-Controlled vs Exit-Controlled

Syllabus mein yeh do naam saaf-saaf diye gaye hain, aur definition wala question har saal aa sakta hai. Farak sirf ek baat ka hai: condition kahan check hoti hai.

Key Rule — Minimum Number of Iterations
Entry-controlled (for, while) — condition body se pehle. Minimum iterations = 0.
Exit-controlled (do…while) — condition body ke baad. Minimum iterations = 1.
Bas yahi ek line yaad rakh lo, aadha chapter yahin hai.
Pointfor / whiledo…while
TypeEntry-controlledExit-controlled
Condition checkedBefore the bodyAfter the body
Minimum runs01
Semicolon after conditionNoYes
Best forKnown count / condition-first workMenus, “at least once” work

↑ Back to top

Inter-Conversion: for ↔ while ↔ do…while

“Convert the following for loop into a while loop” — yeh ICSE ka regular 2-mark question hai. Trick simple hai: teeno parts ko unki nayi jagah par bhej do.

Example — Ek hi kaam, teen tareeke
System.out.println("--- for ---");
for (int i = 1; i <= 3; i++) System.out.print(i + " ");
System.out.println();

System.out.println("--- while ---");
int i = 1;
while (i <= 3) { System.out.print(i + " "); i++; }
System.out.println();

System.out.println("--- do while ---");
int k = 1;
do { System.out.print(k + " "); k++; } while (k <= 3);
System.out.println();

Output:

--- for ---
1 2 3 
--- while ---
1 2 3 
--- do while ---
1 2 3 

Teeno ka output bilkul same. Conversion ka rule: initialization loop se pehle, condition apni jagah, updation body ke akhir mein.

Common Mistake
Conversion mein do…while ko blindly likh dena. Agar original condition shuru se hi false ho sakti hai, toh do…while ka output alag aayega — woh ek baar zyada chalega. Isliye “convert to do-while” sirf tab safe hai jab loop kam se kam ek baar chalna hi ho.

↑ Back to top

Jump Statements: break and continue

Do chhote shabd, do bilkul alag kaam. break loop ko chhod deta hai. continue sirf us ek chakkar ko chhodta hai aur agle chakkar par chala jaata hai.

Example 1 — Dono ek saath
for (int i = 1; i <= 10; i++)
{
    if (i == 6) break;
    if (i % 2 == 0) continue;
    System.out.print(i + " ");
}
System.out.println();

Output:

1 3 5 

i = 2 aur 4 par continue ne print skip karwaya, par loop chalta raha. i = 6 par break ne loop hi khatam kar diya — 7, 8, 9, 10 tak baat hi nahi pahunchi.

Example 2 — Ulta loop, ek skip
for (int i = 5; i >= 1; i--)
{
    if (i == 3) continue;
    System.out.print(i);
}
System.out.println();

Output:

5421

Sirf 3 gayab hai. Aur dhyaan do — for loop mein continue ke baad bhi i-- chalta hai, isliye loop atakta nahi.

Common Mistake — continue in a while loop
while mein continue seedha condition par kood jaata hai — body ke andar likhi updation skip ho jaati hai. Agar i++ continue ke neeche hai, toh loop wahin phans jaayega. for mein aisa nahi hota, kyunki updation loop ke apne header mein hai.
Exam Tip
“Difference between break and continue” ke answer mein ek line yeh bhi likho: break switch mein bhi kaam karta hai, continue sirf loops mein. Chhoti si baat hai, par poora mark deti hai.

↑ Back to top

Variations, Infinite Loops and Multiple Counters

Syllabus mein saaf likha hai: “variations in looping statements”, “finite and infinite”, “delay”, aur “multiple counter variables”. In sab par chhote output questions bante hain.

Example 1 — Do counters, ek loop
for (int i = 1, j = 10; i < j; i++, j--)
{
    System.out.println(i + " ... " + j);
}

Output:

1 ... 10
2 ... 9
3 ... 8
4 ... 7
5 ... 6

Ek counter upar, doosra neeche — jab woh mil jaate hain, loop ruk jaata hai. Comma se dono ko initialize aur update kiya jaata hai.

Example 2 — Khaali initialization aur updation
int i = 1;
for ( ; i <= 3; )
{
    System.out.print(i + " ");
    i++;
}
System.out.println("| i = " + i);

Output:

1 2 3 | i = 4

for ke teeno khaane khaali chhode ja sakte hain — semicolons phir bhi zaroori hain. Yahan i loop ke bahar declare hua, isliye loop ke baad bhi use kar sakte hain.

Key Rule — Finite vs Infinite
Loop finite tab hai jab condition kabhi na kabhi false ho jaaye. for ( ; ; ) aur while (true) infinite loops hain — unse nikalne ka ekmatra raasta andar likha break hai. Ek delay loop woh hota hai jiska body khaali ho aur jo sirf waqt kaatne ke liye chalaya jaaye.

↑ Back to top

Nested for Loops and Patterns

Ek loop ke andar doosra loop. Yaad rakhne ka tareeka: bahar wala loop = rows, andar wala loop = columns. Bahar wala ek baar chalta hai, toh andar wala poora chal jaata hai.

Key Rule — Syllabus Scope
CISCE syllabus mein nested loops sirf for ke liye hain — nested while aur nested do…while syllabus mein shaamil nahi hain. Patterns bhi do hi tarah ke poochhe jaate hain: rectangular aur right-angled triangle. Iska matlab yeh hai ki pattern programs likhne ko kaha jaayega toh hamesha nested for se hi banega — nested while se pattern likhne ko nahi kaha jaayega. Par ghabrao mat: Section A ke chhote output questions mein ek nested while ka trace phir bhi aa sakta hai, kyunki while khud syllabus mein hai. Isliye padhna dono chahiye — likhna sirf for se.
Example 1 — Rectangular pattern
for (int i = 1; i <= 4; i++)
{
    for (int j = 1; j <= 5; j++)
    {
        System.out.print("* ");
    }
    System.out.println();
}

Output:

* * * * * 
* * * * * 
* * * * * 
* * * * * 

Andar wala loop har row mein 5 stars chhaapta hai; System.out.println() bahar wale loop mein hai, isliye har row ke baad line badalti hai.

Example 2 — Right-angled triangle of numbers
for (int i = 1; i <= 5; i++)
{
    for (int j = 1; j <= i; j++)
    {
        System.out.print(j + " ");
    }
    System.out.println();
}

Output:

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 

Poora triangle ek hi cheez se banta hai: andar wale loop ki condition j <= i hai, koi fixed number nahi. Har naye row par i bada hota hai, isliye row lambi hoti jaati hai.

Example 3 — Right-aligned triangle (spaces ka kamaal)
for (int i = 1; i <= 4; i++)
{
    for (int j = 4; j > i; j--) System.out.print(" ");
    for (int j = 1; j <= i; j++) System.out.print("*");
    System.out.println();
}

Output:

   *
  **
 ***
****

Do inner loops: pehla spaces chhaapta hai, doosra stars. Yeh pattern questions ka master template hai — “kitne spaces, kitne stars” bas yeh do sawaal poochho.

Exam Tip
Pattern question mile toh sabse pehle kaagaz par rows ginno, phir har row mein kitne characters hain likho, phir dekho woh count i se kaise juda hai. Code baad mein aayega — ninety percent kaam yeh table banane mein hi ho jaata hai.

↑ Back to top

Dry-Run Bank — Output Questions

Har snippet pehle khud kaagaz par solve karo — ek table banao jismein har variable ki value har iteration par likhi ho. Phir answer kholo. Yahan ke saare programs compile karke chalaye gaye hain.

Dry Run 1
int x = 0;
for (int i = 1; i <= 5; i++)
{
    x += i;
}
System.out.println(x);

int y = 5;
do { System.out.print(y + " "); y -= 2; } while (y > 0);
System.out.println();
Show Answer

Output:

15
5 3 1 

1+2+3+4+5 = 15. Doosre loop mein y: 5 → 3 → 1 → −1, aur −1 par condition false ho gayi.

Dry Run 2
int i = 11;
while (i <= 10)
{
    System.out.println("while body: " + i);
    i++;
}
int j = 11;
do
{
    System.out.println("do-while body: " + j);
    j++;
}
while (j <= 10);
Show Answer

Output:

do-while body: 11

Sirf ek line. Entry-controlled loop zero baar chala, exit-controlled ek baar — yehi is chapter ka core idea hai.

Dry Run 3 — nested while trace (output question type)
int a = 1;
while (a <= 3)
{
    int b = 1;
    while (b <= 2)
    {
        System.out.print(a * b + " ");
        b++;
    }
    a++;
}
System.out.println();
Show Answer

Output:

1 2 2 4 3 6 

a = 1 → 1, 2. a = 2 → 2, 4. a = 3 → 3, 6. Sabse zaroori baat: b ko andar wale loop se pehle har baar 1 par reset kiya gaya hai. Reset bhoolne par loop sirf ek hi baar chalta.

Dry Run 4
for (int i = 5; i >= 1; i--)
{
    if (i == 3) continue;
    System.out.print(i);
}
System.out.println();
Show Answer

Output:

5421

3 skip hua, baaki sab chhapa — aur bina space ke, kyunki print(i) mein koi space nahi hai.

Dry Run 5
int i = 1;
for ( ; i <= 3; )
{
    System.out.print(i + " ");
    i++;
}
System.out.println("| i = " + i);
Show Answer

Output:

1 2 3 | i = 4

Loop tab ruka jab i = 4 hua — isliye loop ke baad i ki value 4 hai, 3 nahi.

↑ Back to top

How This Chapter Is Examined

Seedha CISCE ke Computer Applications (86) syllabus document se:

Theory paper — ek written paper, do ghante, 100 marks.
Internal Assessment100 marks, poora practical: saal bhar mein kam se kam 20 laboratory assignments.
Paper ka pattern — Section A 40 marks (saare compulsory), Section B 60 marks (kisi bhi chaar questions ke answer do).
Is chapter ki jagah — Class X ka Unit 1 “Revision of Class IX Syllabus” hai, jismein Iterative constructs in Java aur Nested for loops dono alag-alag listed hain. Yaani yeh poora examinable hai.

Section A mein aate hain: entry vs exit controlled ki definition, break vs continue ka farak, chhote output questions, aur loop-conversion. Section B mein poore programs — series ka sum, factorial, palindrome, Armstrong, prime check, Fibonacci aur pattern printing. Ek baat aur: syllabus mein nested while aur nested do…while shaamil nahi hain, isliye pattern questions hamesha nested for se hi banenge.

↑ Back to top

Practice Worksheet (10 Questions)

Pehle khud likho, phir answer kholo. Har code ka output verified hai.

Q1. Entry-controlled aur exit-controlled loop mein kya farak hai? Har ek ka ek udaharan do.
Show Answer

Entry-controlled loop mein condition body se pehle check hoti hai, isliye body zero baar bhi chal sakti hai — jaise for aur while. Exit-controlled loop mein condition body ke baad check hoti hai, isliye body kam se kam ek baar chalti hai — jaise do…while.

Q2. break aur continue mein do farak likho.
Show Answer

(i) break poora loop chhod deta hai; continue sirf current iteration chhodta hai aur agle par chala jaata hai. (ii) break loops aur switch dono mein chalta hai; continue sirf loops mein.

Q3. Ise while loop mein badlo: for (int i = 1; i <= 3; i++) System.out.print(i + " ");
Show Answer
int i = 1;
while (i <= 3)
{
    System.out.print(i + " ");
    i++;
}

Output:

1 2 3 
Q4. Output batao:
for (int i = 1, j = 10; i < j; i++, j--)
    System.out.println(i + " ... " + j);
Show Answer
1 ... 10
2 ... 9
3 ... 8
4 ... 7
5 ... 6

Paanch lines. Agli baar i = 6, j = 5 hota, aur 6 < 5 false hai.

Q5. Infinite loop kya hai? for se ek infinite loop likho.
Show Answer

Woh loop jiski condition kabhi false na ho, isliye woh apne aap kabhi na ruke. for ( ; ; ) { } ya while (true) { } — nikalne ke liye andar break lagana padta hai.

Q6. Ek program likho jo check kare ki 153 Armstrong number hai ya nahi.
Show Answer
int n = 153, t = n, s = 0;
while (t > 0)
{
    int d = t % 10;
    s = s + d * d * d;
    t = t / 10;
}
System.out.println(n + (s == n ? " is an Armstrong number"
                              : " is not an Armstrong number"));

Output:

153 is an Armstrong number

Asli number ki copy t mein rakhna zaroori hai — warna comparison ke waqt n bigad chuka hoga.

Q7. Fibonacci series ke pehle 8 terms print karo.
Show Answer
int a = 0, b = 1;
System.out.print(a + " " + b + " ");
for (int i = 3; i <= 8; i++)
{
    int c = a + b;
    System.out.print(c + " ");
    a = b; b = c;
}

Output:

0 1 1 2 3 5 8 13 

Pehle do terms loop se bahar print hote hain, isliye loop 3 se shuru hota hai.

Q8. Ek program likho jo bataye ki 29 prime hai ya nahi.
Show Answer
int n = 29, c = 0;
for (int i = 1; i <= n; i++)
    if (n % i == 0) c++;
System.out.println(n + " has " + c + " factors -> "
                     + (c == 2 ? "Prime" : "Not Prime"));

Output:

29 has 2 factors -> Prime

Factor-count wala tareeka sabse safe hai: exactly 2 factors = prime. Isse 1 aur 2 jaise edge cases apne aap sahi ho jaate hain.

Q9. Yeh pattern nested for se banao:
   *
  **
 ***
****
Show Answer
for (int i = 1; i <= 4; i++)
{
    for (int j = 4; j > i; j--) System.out.print(" ");
    for (int j = 1; j <= i; j++) System.out.print("*");
    System.out.println();
}

Row i mein (4 − i) spaces aur i stars hain. Do inner loops, ek hi outer loop.

Q10. Nested while loop mein andar wale counter ko reset na karne se kya hota hai?
Show Answer

Andar wala loop sirf pehli baar chalega. Uske baad uska counter apni final value par atka rehta hai, condition turant false milti hai, aur body dobara chalti hi nahi. Isliye inner counter ki initialization hamesha outer loop ke andar honi chahiye. (Yaad rahe — nested while CISCE syllabus ke bahar hai; yeh sirf samajh ke liye hai.)

↑ Back to top

Aage kya? Loops aur conditionals mil kar poora logic bana dete hain — ab agla padav hai apne methods likhna. Peeche jaana ho toh Conditional Constructs, Operators & Expressions, Values & Data Types aur Java Basics & OOP Concepts revise kar lo. Poora section: ICSE Class 10 hub.

Kaizen: Roz ek loop uthao aur uski dry-run table poori likho — bilkul us format mein jo while Loop section mein di gayi hai: har variable ka ek column, condition ka ek, aur aakhri exit row zaroor. Do hafte mein output questions dekhte hi answer dikhne lagega. 小さな改善, har din. 🌱

Written & reviewed by Team Principal Saab — Meet the team →