Looping: While, Do-while, For

while पहले check करता है, do-while कम से कम एक बार run होता है, for count-driven repetition को एक line में pack करता है: BookBridge का menu सही loop के साथ फिर से जीवित हो जाता है।

10 min read · 10 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

वह Menu जो एक Use के बाद मर गया

पिछले lesson में, BookBridge ने अपना menu दिखाया, librarian ने एक book return की, और program खत्म हो गया। अगले student की book issue करने के लिए उसे इसे scratch से फिर से run करना पड़ा।

एक real menu को हर action के बाद वापस आना चाहिए जब तक वह Exit choose न करे। यह repetition है, और Java इसके लिए 3 tools offer करता है: while, do-while और for। वे अक्सर एक-दूसरे को imitate कर सकते हैं; exams और clean code दोनों इस बात की परवाह करते हैं कि जो fit हो वह choose करें।

Theory

Chai के 3 तरह के Rounds

while careful host है: पहले room में झाँकता है, chai सिर्फ़ तभी serve करता है अगर कोई है। शायद किसी को serve न करे।

do-while confident host है: देखने से पहले भी 1 cup poured करता है, फिर check करता है कोई और चाहता है या नहीं। हमेशा कम से कम एक बार serve करता है।

for list वाला caterer है: पहले से जानता है exactly 12 guests हैं, उन्हें एक organised pass में serve करता है, चलते हुए count करता है।

Formula

3 Syntaxes, Exam Form

while (condition) { body }

do { body } while (condition);

for (initialization; condition; update) { body }

do-while की condition के बाद semicolon नोट कीजिए: exams इसके missing होने पर deduct करते हैं। for header में: initialization एक बार run होता है, condition हर pass से पहले check होता है, update हर pass के बाद run होता है।

At a glance

सही Loop Choose करना

LoopCondition Check होती हैMinimum Runsकब Best है
whileBody से पहले0Repeat count unknown, zero हो सकता है
do-whileBody के बाद1Body को कम से कम एक बार होना चाहिए (menus!)
forBody से पहले0Repeat count known है (12 books print करना)

Practical

Menu, do-while से फिर से जीवित

public class MenuLoop {
    public static void main(String[] args) {
        int choice = 0;
        int round = 0;
        do {
            round++;
            System.out.println("Round " + round + ": 1.Issue 2.Return 3.Exit");
            choice = 3;   // pretend the librarian picks Exit
        } while (choice != 3);
        System.out.println("Goodbye");

        for (int book = 1; book <= 3; book++) {
            System.out.println("Book " + book + " on shelf");
        }
    }
}

Think first

Tap करने से पहले Trace कीजिए

int i = 0; while (i < 3) { i++; } System.out.println(i); पहले हर pass को अपने दिमाग़ में work through कीजिए: क्या print होता है?

Show the answer

3। Trace: i=0, condition 0<3 true, i 1 हो जाता है। फिर 1<3 true, i 2 हो जाता है। फिर 2<3 true, i 3 हो जाता है। अब check फिर से run होता है: 3<3 false है, loop exit हो जाता है, और loop के बाहर का println 3 print करता है। याद रखने वाला pattern: loop variable की final value वह पहली value है जो condition FAIL करती है, वह आख़िरी नहीं जो pass हुई।

Quiz

कौन सा loop guaranteed है अपनी body को कम से कम एक बार execute करने के लिए?

  1. while
  2. for
  3. do-while
  4. सारे 3 हमेशा कम से कम एक बार run होते हैं
Show the answer

do-while

do-while अपनी condition body के BAAD check करता है, तो पहला pass हमेशा होता है, यही exactly वजह है यह menus के लिए suit करता है: पहले menu दिखाइए, फिर बाद में पूछिए repeat करना है या नहीं। while और for दोनों body से PEHLE check करते हैं, तो शुरुआत में एक false condition का मतलब है 0 executions। Option D वह misconception है जिसे catch करने के लिए यह question exist करता है: entry-controlled loops (while, for) zero बार run हो सकते हैं।

Watch out

2 Silent Loop Killers

Forgotten Update: while (i < 3) अंदर बिना i++ के कभी खत्म नहीं होता। BookBridge freeze हो जाता है, fans spin करते हैं, कुछ crash नहीं होता: एक infinite loop एक hang जैसा feel होता है, और यह सबसे common lab-exam disaster है।

Stray Semicolon: while (i < 3); या for (int i = 0; i < 3; i++); loop से एक EMPTY body attach करता है। नीचे का real block एक बार run होता है, loop खत्म होने के बाद (या कभी नहीं, अगर empty loop infinite है)।

Theory

Loops बाकी Subject को Carry करते हैं

Syntax BCA104 के C जैसा identical है, तो यह purpose वाली revision है। नोट कीजिए BCA204 के Python में क्या कभी नहीं था: एक do-while (आपने इसे while True और break से simulate किया)। यहाँ से, loops BookBridge में हर जगह हैं: Unit 3 Strings के along character by character walk करता है, और Unit 5 की linked lists node by node traverse करती हैं while (current != null) से, जो बस यह lesson है एक object-oriented coat पहने हुए।

Summary

Key takeaways

  • while: entry-controlled, body से पहले check करता है, 0 बार run हो सकता है।
  • do-while: exit-controlled, body के बाद check करता है, हमेशा कम से कम एक बार run होता है; trailing semicolon याद रखिए।
  • for: एक header में initialization; condition; update, known counts के लिए best।
  • Menus को do-while चाहिए: एक बार दिखाइए, फिर पूछिए repeat करना है या नहीं।
  • Infinite loops missing updates से आते हैं; empty loops condition के बाद एक stray semicolon से आते हैं।
  • एक loop variable उस पहली value पर खत्म होता है जो condition fail करती है।
  • Memory hook: while पहले झाँकता है, do-while पहले pours करता है, for guests count करता है।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Introduction to Java

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Looping: While, Do-while, For · Java Programming Language · Gri-Learn