CodeGym /جاوا بلاگ /Random-SD /جڏهن ته بيان
John Squirrels
سطح
San Francisco

جڏهن ته بيان

گروپ ۾ شايع ٿيل
اسان جا پهريان پهريان پروگرام هدايتن جو هڪ سلسلو هئا جيڪي هڪ ٻئي پٺيان لڳايا ويندا آهن. نه ڪانٽو. ھن ۾ شامل آھي HelloWorld، جيڪو ڏيکاري ٿو سلام. ان ۾ رياضياتي حساب شامل آهن. اسان جي پهرين پروگرامن کان پوءِ، اسان سکيو ته برانچ ڪيئن ڪجي، يعني هڪ پروگرام کي ڪيئن ٺاهيو وڃي مختلف ڪمن کي انجام ڏيڻ جي مخصوص حالتن جي لحاظ کان. هتي مرڪزي حرارتي ۽ ايئر ڪنڊيشن سسٽم کي ڪنٽرول ڪرڻ لاء ڪوڊ آهي:
if (tempRoom>tempComfort)
    airConditionerOn();
if (tempRoom<tempComfort)
    heaterOn();
ايندڙ قدم وٺو. روزمره جي زندگي ۾، اسين اڪثر ڪري وردي ورجائي ڪارناما ڪندا آهيون، مثال طور، هڪ پائي لاء سيب کي ڇڪڻ. هن دلچسپ عمل کي بيان ڪري سگهجي ٿو:
  1. جيڪڏهن پيالي ۾ سيب آهن، ته پوء اسان 1.1 کان 1.4 قدمن تي عمل ڪريون ٿا:

    1. 1.1. هڪ انب وٺو
    2. 1.2. ان کي ڇڪيو ۽ ان کي سلائسن ۾ ڪٽيو
    3. 1.3. هڪ پين ۾ پائي ڪرسٽ ۾ سيب جي سلائسن کي ترتيب ڏيو
    4. 1.4. قدم 1 ڏانھن واپس وڃو.
جڏهن ته بيان - 2اچو ته توهان وٽ ڏهه انب، ٻه هٿ، ۽ هڪ چاقو آهي. حقيقي زندگي ۾، توهان ترتيب سان پوري درجن کي ڇڪيندا آهيو، هر ايپل لاء ساڳئي الگورٿم تي عمل ڪندي. پر اسان هڪ پروگرام ڪيئن ٺاهيندا آهيون هر ايپل لاءِ بار بار عمل؟
  • اسان پاڻ کي انب جي تعداد سان ڳنڍيندا آهيون، پر جيڪڏهن اسان وٽ انهن مان ڪافي نه آهي، ته پوء ڪجهه حڪمن تي عمل ڪيو ويندو بغير "پيلو لوڊ" (۽ اسان پاڻ کي ڪٽي سگهون ٿا جڏهن هڪ غير موجود سيب کي ڇڪڻ جي ڪوشش ڪري سگهون ٿا).
  • جيڪڏهن انب کان وڌيڪ انب آهن جيڪي ڇلڻ جي حڪمن کان وڌيڪ آهن، ته پوء ڪجهه انب کي ڇڏي ڏنو ويندو.
  • اهڙي ڪوڊ پڙهڻ ڏکيو آهي. ان ۾ ڪيترائي ورجايل آھن ۽ تبديل ڪرڻ ڏکيو آھي.

لوپ اهي بيان آهن جيڪي عملن کي بار بار انجام ڏيڻ جي اجازت ڏين ٿا

Java's while loop اسان جي ڪيس ۾ سٺو ڪم ڪندو. هي تعمير ڪيترن ئي عملن کي هڪ جامع ۽ سمجھڻ واري جوڙجڪ ۾ رکي ٿو. ٿوري وقت جي لوپ کي استعمال ڪندي ، هڪ پائي لاءِ ايپل سلائينگ الگورٿم شايد جاوا ۾ هن طرح نظر اچن ٿا:
while (numberOfApplesInBowl > 0) {
    apple = bowl.grabNextApple();
    arrangeInPie(apple.peel().slice());
    numberOfApplesInBow--; // "--" is the decrement operator, which reduces the number of apples by one
}
System.out.println("The apples for the pie have been processed.");

حڪم نحو

جڏهن ته بيان جو پهريون قسم هن طرح آهي:
while (Boolean expression) {
	// Loop body — the statement(s) that are repeatedly executed
}
هتي هڪ قدم قدم جي وضاحت آهي ته ڇا ٿيندو جڏهن هي ڪوڊ جاري ڪيو ويندو آهي:
  1. جڏهن ته لفظ کان پوءِ قوس ۾ مليل Boolean اظهار جو جائزو وٺون ٿا .
  2. جيڪڏهن Boolean ايڪسپريس صحيح اندازو لڳايو وڃي ته پوءِ لوپ باڊي ۾ بيان جاري ڪيا ويندا. لوپ جسم ۾ آخري بيان ٿيڻ کان پوء، پوء اسان قدم 1 ڏانھن وڃو
  3. جيڪڏهن Boolean ايڪسپريس غلط ٿي وڃي ٿي، ته پوءِ اسان جڏهن لوپ کان پوءِ پهرين بيان تي وڃون ٿا .

اڳئين شرط سان لوپ

ڇو ته اسان لوپ باڊي کي هلائڻ کان اڳ هميشه Boolean ايڪسپريشن (لوپ ۾ داخل ٿيڻ جي شرط) جو جائزو وٺون ٿا ، جڏهن ته لوپ جي هن فارم کي اڪثر ڪري لوپ چئبو آهي اڳڪٿي سان . اچو ته ھڪڙي عدد جي پھرين ڏھن طاقتن جو جدول ٺاھيون:
public static void main(String[] args) {
    int base = 3; // The number that will be exponentiated
    int result = 1; // The result of exponentiation
    int exponent = 1; // The initial exponent
    while (exponent <= 10) { // The condition for entering the loop
        result = result * base;
        System.out.println(base + " raised to the power of " + exponent + " = " + result);
        exponent++;
    }
}
ڪنسول آئوٽ:
3 raised to the power of 1 = 3
3 raised to the power of 2 = 9
3 raised to the power of 3 = 27
3 raised to the power of 4 = 81
3 raised to the power of 5 = 243
3 raised to the power of 6 = 729
3 raised to the power of 7 = 2187
3 raised to the power of 8 = 6561
3 raised to the power of 9 = 19683
3 raised to the power of 10 = 59049
Process finished with exit code 0

پوسٽ جي حالت سان لوپ ڪريو

هتي هن لوپ جو ٻيو قسم آهي:
do {
    // Loop body — the statement(s) that are repeatedly executed
} while (Boolean expression);
هتي هڪ وضاحت آهي ته ڇا ٿيندو جڏهن هن ڪوڊ تي عمل ڪيو ويندو آهي:
  1. لوپ باڊي تي عمل ڪيو ويو آهي (فوري طور تي do keyword کان پوءِ).
  2. جڏهن ته لفظ کان پوءِ قوس ۾ مليل Boolean اظهار جو جائزو وٺون ٿا .
  3. جيڪڏهن Boolean ايڪسپريس صحيح اندازو لڳائي ٿو، ته پوء اسان قدم 1 ڏانهن وڃو
  4. جيڪڏهن Boolean ايڪسپريس غلط ٿي وڃي ٿي، ته پوءِ اسان جڏهن لوپ کان پوءِ پهرين بيان تي وڃون ٿا .
پوئين لوپ مان ٻه مکيه فرق آهن: 1) لوپ باڊي کي گهٽ ۾ گهٽ هڪ ڀيرو لڳايو ويندو آهي ۽ 2) لوپ باڊي تي عمل ٿيڻ کان پوءِ بوليان ايڪسپريشن جو جائزو ورتو ويندو آهي. ان مطابق، هن قسم جي لوپ کي پوئين حالت سان لوپ سڏيو ويندو آهي . هن ڀيري اسان هڪ عدد جي طاقت جو جدول ڏيکارينداسين جيڪو 10000 کان وڌيڪ نه هوندو:
public static void main(String[] args) {
    int base = 3; // The number that will be exponentiated
    int result = base; // The result of exponentiation
    int exponent = 1; // The initial exponent
    do {
        System.out.println(base + " raised to the power of " + exponent + " = " + result);
        exponent++;
        result = result * base;
    } while (result < 10000); // The condition for exiting the loop
}
ڪنسول آئوٽ:
3 raised to the power of 1 = 3
3 raised to the power of 2 = 9
3 raised to the power of 3 = 27
3 raised to the power of 4 = 81
3 raised to the power of 5 = 243
3 raised to the power of 6 = 729
3 raised to the power of 7 = 2187
3 raised to the power of 8 = 6561
Process finished with exit code 0
ڪوڊ ۾ تبديلين تي ڌيان ڏيو. ھن کي لوپ سان ھڪڙي شرط سان ڀيٽيو.

لوپ سان ڪم ڪرڻ بابت دلچسپ حقيقتون

لوپ باڊي اندر برانچنگ بيان

اتي ٻه بيان آھن جيڪي ھڪڙي لوپ جي اندر عملدرآمد کي متاثر ڪن ٿا: وقفو (جنھن تي اسان ايندڙ باب ۾ وڌيڪ تفصيل سان بحث ڪنداسين) ۽ جاري رکڻ.
  • جاري رکو - باقي لوپ باڊي جي عمل کي موجوده ورجائي ۾ ڇڏي ٿو ۽ جمپ ڪري ٿو ويجهڙائيءَ لاءِ جڏهن بيان جي بوليان اظهار جي. جيڪڏهن اظهار صحيح طور تي اندازو لڳايو، پوء لوپ جاري آهي.
  • وقفو - فوري طور تي موجوده ورهاڱي جي عمل کي ختم ڪري ٿو ۽ لوپ کان پوء پهرين بيان تي ڪنٽرول منتقل ڪري ٿو. اهڙيء طرح، هي بيان موجوده لوپ جي عمل کي ختم ڪري ٿو. اسان ان کي ايندڙ مضمون ۾ وڌيڪ تفصيل سان غور ڪنداسين.
اسان جو ميوو مثال ياد ڪريو. جيڪڏهن اسان کي ايپل جي معيار جي پڪ ناهي، اسان جاري بيان استعمال ڪندي ڪوڊ تبديل ڪري سگهون ٿا :
while (numberOfApplesInBowl > 0) {
    apple = bowl.grabNextApple();
    numberOfApplesInBow--; // "--" is the decrement operator, which reduces the number of apples by one
    if (apple.isBad()) { // This method returns true for rotten apples
        apple.throwInGarbage();
        continue; // Continue the loop. Jump to evaluation of numberOfApplesInBowl > 0
    }
    arrangeInPie(apple.peel().slice());
}
جاري بيان اڪثر استعمال ڪيو ويندو آهي جڏهن لوپ باڊي ۾ بيانن کي عمل ڪرڻ جي ضرورت هجي جيڪڏهن هڪ خاص شرط مطمئن هجي . مثال طور، اسان ڪارناما انجام ڏيڻ چاهيون ٿا جڏهن هڪ هارڊويئر سينسر شروع ٿئي ٿو (ٻي صورت ۾، صرف اهو لوپ جاري رکون ٿا جنهن ۾ اسان سينسر ريڊنگز وٺون ٿا) يا اسان صرف لوپ جي ڪجهه ورهاڱي تي هڪ اظهار کي ڳڻڻ چاهيون ٿا. پوئين صورت جو هڪ مثال اسان جي استعمال ۾ ڏسي سگھجي ٿو a while loop جي ڳڻپ ڪرڻ لاءِ قدرتي انگن جي ڪعبن جي مجموعن جي حساب سان جن جي چورس نمبرن جي تعداد کان گھٽ آھي. مونجهارو؟ هيٺ ڏنل ڪوڊ چيڪ ڪريو:
public static void main(String[] args) {
    int sum = 0;  // Total amount
    int i = 0;  // Initial number in the series
    int count = 20;  // Number of numbers
    while (i <= count) {
        i++;  // Get the next number — "i++" is equivalent to "i = i + 1"
        if (i * i <= count)  // If the square of the number is less than
            continue;  // the number of numbers, then we won't calculate the sum
                            // Jump to the next number in the loop
        sum += i * i * i;  // Otherwise, we calculate the sum of the cubes of numbers
    }  // "sum += i * i * i" is notation that is equivalent to "sum = sum + i * i * i"
    System.out.println(sum);  // Print the result
}

لامحدود لوپ

اهي برانچنگ بيان اڪثر ڪري لامحدود لوپس ۾ استعمال ٿيندا آهن. اسان لوپ کي لامحدود سڏين ٿا جيڪڏهن لوپ مان نڪرڻ لاءِ بوليان حالت ڪڏهن به مطمئن نه آهي. ڪوڊ ۾، اهو ڪجهه هن وانگر ڏسڻ ۾ اچي ٿو:
while (true) {
    // Loop body
}
انهي حالت ۾، هڪ وقفي بيان اسان کي لوپ مان نڪرڻ ۾ مدد ڪري ٿي. هن قسم جي لوپ مناسب آهي جڏهن لوپ جي جسم کان ٻاهر مقرر ڪيل ٻاهرين حالتن جي انتظار ۾. مثال طور، آپريٽنگ سسٽم يا راندين ۾ (لوپ مان نڪرڻ جو مطلب آهي راند کان ٻاهر نڪرڻ). يا جڏهن الورورٿمس استعمال ڪريو جيڪي ڪوشش ڪندا آهن، هر هڪ لوپ جي ورهاڱي سان، ڪجهه نتيجا بهتر ڪرڻ لاءِ، پر بار بار جي تعداد کي محدود ڪرڻ جي بنياد تي گذري ويل وقت يا ڪنهن خارجي واقعي جي واقعن (مثال طور چيڪرز، شطرنج، يا موسم جي اڳڪٿي). ياد رهي ته عام حالتن ۾ لامحدود لوپ گهربل نه آهن. ظاهر ڪرڻ لاء، اچو ته وضاحت ڏانهن واپس وڃو:
public static void main(String[] args) {
    int base = 3; // The number that will be exponentiated
    int result = 1; // The result of exponentiation
    int exponent = 1; // The initial exponent
    while (true) {
        result = result * base;
        System.out.println(base + " raised to the power of " + exponent + " = " + result);
        exponent++;
        if (exponent > 10)
            break; // Exit the loop
    }
}
ڪنسول آئوٽ:
3 raised to the power of 1 = 3
3 raised to the power of 2 = 9
3 raised to the power of 3 = 27
3 raised to the power of 4 = 81
3 raised to the power of 5 = 243
3 raised to the power of 6 = 729
3 raised to the power of 7 = 2187
3 raised to the power of 8 = 6561
3 raised to the power of 9 = 19683
3 raised to the power of 10 = 59049
Process finished with exit code 0

اندريون لوپون

۽ ھاڻي اچون ٿا پنھنجي آخري موضوع تي لوپس تي. ان ايپل پائي کي ياد ڪريو (مون کي اميد آهي ته توهان هن وقت بکيو نه آهيو) ۽ اسان جي ايپل پيئلنگ لوپ:
  1. جيڪڏهن پيالي ۾ سيب آهن، ته پوء اسان 1.1 کان 1.4 قدمن تي عمل ڪريون ٿا:

    1. 1.1. هڪ انب وٺو
    2. 1.2. ان کي ڇڪيو ۽ ان کي سلائسن ۾ ڪٽيو
    3. 1.3. هڪ پين ۾ پائي ڪرسٽ ۾ سيب جي سلائسن کي ترتيب ڏيو
    4. 1.4. قدم 1 ڏانھن واپس وڃو.
اچو ته سلائينگ جي عمل کي وڌيڪ تفصيل سان بيان ڪريون:
  1. سلائسن جو تعداد = 0
  2. جيستائين سلائسن جو تعداد <12 آھي، پوءِ 2.1 کان 2.3 تائين مرحلا انجام ڏيو

    1. 2.1. انب جو ٻيو ٽڪرو ڪٽيو
    2. 2.2. سلائسن جو تعداد ++
    3. 2.3. قدم 2 ڏانھن واپس وڃو
۽ اسان هن کي اسان جي پائي ٺاهڻ واري الگورتھم ۾ شامل ڪنداسين:
  1. جيڪڏهن پيالو ۾ سيب آهن، ته پوء اسان 1.1 کان 1.6 تائين قدم کڻون ٿا:

    1. 1.1. هڪ انب وٺو
    2. 1.2. ان کي ڇڪيو
    3. 1.3. سلائسن جو تعداد = 0
    4. 1.4. جيستائين سلائسن جو تعداد < 12 آهي، پوء قدم 1.4.1 کان 1.4.3 تائين انجام ڏيو
      1. 1.4.1. انب جو ٻيو ٽڪرو ڪٽيو
      2. 1.4.2. سلائسن جو تعداد ++
      3. 1.4.3. قدم 1.4 ڏانھن واپس وڃو
    5. 1.5. هڪ پين ۾ پائي ڪرسٽ ۾ سيب جي سلائسن کي ترتيب ڏيو
    6. 1.6. قدم 1 ڏانھن واپس وڃو.
هاڻي اسان وٽ هڪ لوپ اندر هڪ لوپ آهي. اهڙيون اڏاوتون تمام عام آهن. آخري مثال جي طور تي، اچو ته ھڪڙي ضرب جدول ٺاھيون، جنھن کي اسان پرائمري اسڪول ۾ پيار ڪرڻ سکيو ھو.
public static void main(String[] args) {
    // Print the second factors in a row
    System.out.println("    2  3  4  5  6  7  8  9");
    int i = 2;  // Assign the first factor to the variable
    while (i < 10) {  // First loop: execute as long as the first factor is less than 10
        System.out.print(i + " | ");  // Print the first factor at the beginning of the line
        int j = 2;  // The starting value of the second factor
        while (j < 10) { // Second loop: execute as long as the second factor is less than 10
            int product = i * j;  // Calculate the product of the factors
            if (product < 10)  // If the product is a single digit, then we print two spaces after the product
                System.out.print(product + "  ");
            else  // Otherwise, print the product and one space after it
                System.out.print(product + " ");
            j++;  // Increment the second factor by one
        }  // Go to the beginning of the second loop, i.e. "while (j < 10)"
        System.out.println();  // Move to the next line on the console
        i++;  // Increment the first factor by one
    } // Go to the beginning of the first loop, i.e. "while (i < 10)"
}
ڪنسول آئوٽ:
    2  3  4  5  6  7  8  9
2 | 4 6 8 10 12 14 16 18
3 | 6 9 12 15 18 21 24 27
4 | 8 12 16 20 24 28 32 36
5 | 10 15 20 25 30 35 40 45
6 | 12 18 24 30 36 42 48 54
7 | 14 21 28 35 42 49 56 63
8 | 16 24 32 40 48 56 64 72
9 | 18 27 36 45 54 63 72 81
Process finished with exit code 0
لوپس (خاص طور تي، جڏهن بيان) سافٽ ويئر جي بنيادي عمارتن مان هڪ آهن. CodeGym تي ڪم حل ڪرڻ سان، توھان سکندا سڀ مختلف قسم جا لوپ، انھن جي پيچيدگين کي سمجھندا، ۽ انھن کي استعمال ڪرڻ ۾ عملي صلاحيتون حاصل ڪندا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION