while Loop in Java

while Loop in Java: For Loop की तरह यह भी किसी Statement के दोहराने का काम करता है, लेकिन फिर भी यह for Loop से काफी अलग है। इस Loop में Java के Keyword while का प्रयोग किया जाता है। while Loop में while कोष्‍ठक में केवल Condition दी जाती है। Variable का प्रारंभिक मान व Step Size while के कोष्‍ठक का हिस्सा नहीं होते हैं, बल्कि Variable का प्रारंभिक मान while Loop को शुरू करने से पहले ही Declare व Initialize कर दिया जाता है और Loop की Step Size while Condition के Statement Block का हिस्सा होती है। while Loop का syntax निम्नानुसार होता है:

	Variable Declaration;
	Value Initialization;

	while( Condition )
	{
		Statement Block;
		Step Size;
	}
	
	Statement 1;

while Statement के कोष्‍ठक के बाद कभी भी ; (Semi Colon) का प्रयोग नहीं किया जाता है। जब while के बाद केवल एक ही Statement का Execution करना होता है, तब हमें मंझले कोष्‍ठक का प्रयोग करने की जरूरत नहीं रहती है। फिर भी यदि मंझले कोष्‍ठक का प्रयोग कर लिया जाए तो कोई फर्क नहीं पडता है।

 

Control Flow in while Loop

सर्वप्रथम हमें Loop चलाने वाले Variable को प्रारंभिक मान देना होता है। यह काम while Loop के बाहर ही कर लिया जाता है। जब Program Control, while Loop में प्रवेश करता है तो Program Control, Condition Check करता है। यदि Condition सत्‍य होती है तो Program Control while Loop के Statement Block में प्रवेश करता है और Statement Block का Execution करता है। Execution के बाद Statement Size तय करता है, यानी Loop के Variable का मान जरूरत के अनुसार Increment या Decrement करता है।

यह क्रम तब तक चलता रहता है जब तक कि while Condition असत्‍य नहीं हो जाती है। यदि Condition सत्‍य नहीं होती है तो Program Control while Loop के Statement Block में प्रवेश नहीं करताए बल्कि सीधे ही Statement 1 पर चला जाता है।

 

Example: While Loop का प्रयोग करते हुए एक ऐसा प्रोग्राम बनाओ जिसमें 1 से 100 के बीच वह संख्‍या Print हो जिसमें 2 व 3 का पूरा-पूरा भाग जाता है।

Program Definition – किसी भी Loop को चलाने के लिये Loop की आवश्‍यक तीनों बातें हमें पता होनी चाहिए। पहली बात ये कि Loop का प्रारंभ कहां से होगा, दूसरा ये कि Loop का अंत कहां होना है और तीसरा ये कि Loop को किस क्रम में Increase या Decrease करना है। किसी भी Loop में किसी Variable द्वारा ये तीनों बातें तय की जाती हैं।

इस प्रोग्राम में भी एक Variable x लिया गया है ताकि ये तीनों मान प्राप्त किये जा सकें। इस प्रोग्राम में हमें 1 से 100 के बीच की संख्‍याओं पर प्रक्रिया करनी है इसलिये Loop के Variable का प्रारंभिक मान 1 व अंतिम मान 100 Define किया गया है और Step Size को एक के क्रम में ही बढाया गया है ताकि ये पता लग सके कि कौनसा अंक ऐसा है, जिसमें 2 व 3 का भाग पूरा-पूरा जाता है।

इस प्रोग्राम में हमें ये पता करना है कि किस संख्‍या में 2 व 3 का भाग पूरा-पूरा जाता है। यह काम हम if Condition Statement द्वारा ही कर सकते हैं। क्योंकि हर Iteration के बाद Loop चलाने वाले Variable का मान बढ जाया करेगा। इसलिये हर अंक में 2 व 3 का भाग देना होगा और यदि संख्‍या में 2 व 3 का भाग पूरा-पूरा चला जाता है तो शेषफल शुन्‍य प्राप्त होगा। जिस संख्‍या में 2 व 3 का भाग पूरा-पूरा चला जाएगा और शेषफल 0 Return होगा, वह संख्‍या Output में Print हो जाएगी।

जो संख्‍याऐं If Condition को संतुष्‍ट नहीं करेंगी यानी जिस संख्‍या में 2 का भाग तो पूरा-पूरा चला जाए लेकिन 3 का भाग ना जाए या फिर जिस संख्‍या मे 3 का भाग पूरा-पूरा चला जाए लेकिन 2 का ना जाए तो Condition असत्‍य हो जाएगी और वह संख्‍या Output में Print नहीं होगी।

if Condition के रूप में ये शर्त देनी होगी कि Output में वही संख्‍या Print हो जिसमें 2 व 3 का पूरा-पूरा भाग जाता है। इस शर्त को यदि हम ध्‍यान से समझें तो ये कह सकते हैं कि इस एक शर्त में दो शर्त है। पहली ये कि किसी संख्‍या में 2 का भाग पूरा-पूरा जाना चाहिये और दूसरी ये कि उसी संख्‍या में 3 का भाग भी पूरा-पूरा जाना चाहिये तभी वह Condition पूर्ण रूप से सत्‍य होगी।

इस शर्त को यदि हम दूसरे शब्दों में कहें तो कह सकते हैं कि किसी संख्‍या में यदि 2 का भाग देने पर शेष फल शुन्‍य प्राप्त होता है तो Condition सत्‍य होती है। यदि इसे गणिती; रूप में लिखें तो x%2 == 0 लिख सकते हैं। साथ ही उसी संख्‍या में 3 का भाग भी पूरा-पूरा जाना चाहिये यानी उसी संख्‍या में 3 का भाग देने पर भी शेषफल शून्‍य आना चाहिये इसे भी गणिती; रूप में x%3 = = 0 लिख सकते हैं। इस प्रकार दोनों Condition सत्‍य होने पर ही Statement Block का Execution होना चाहिये।

अत: इन दोनो Condition को Logical Operator AND ( && ) द्वारा जोड कर if कोष्‍ठक में लिखना होगा। इस प्रकार इस Loop की वास्तविक Condition x % 2 = = 0  &&  x % 3 = = 0 होगी। इस प्रकार हमें इस प्रोग्राम की सभी आधारभूत चीजें प्राप्त हो जाती हैं जो निम्नानुसार हैं-

  • Loop के Variable का प्रारंभिक मान जिससे Loop का Iteration शुरू होगा यानी 1
  • Loop के Variable का अंतिम मान जिसके बाद Loop का Iteration रूक जाएगा, यानी 100
  • Loop के Variable की Step Size जिस क्रम में Loop के Variable का increment होगा।
  • एक if Condition जिसमें ये check होगा कि 1 से 100 के बीच कौनसी संख्‍याएं हैं जिनमें 2 व 3 दोनों का भाग पूरा-पूरा जाता है।

इस Discussion के आधार पर हम निम्नानुसार while Loop का प्रयोग करके इस समस्‍या को हल कर सकते हैं:

// Program
	public class DivisionWithReminder
	{
		public static void main(String args[])	{
			int x = 1;
			while(x<=100)
			{
				if(x%2 == 0 && x%3 == 0)
				{
					System.out.print(“\t” + x);
				}
				x++;
			}
		}
	}

// Output 
	6   12   18   24   30   36   42   48   54   60   66   72   78   84   90   96

सामान्‍यतया इस Loop का प्रयोग हम तब करते हैं, जब हमें ये पता नहीं होता है कि Loop के Statement Block को कितनी बार Execute करना है। जबकि for Loop का प्रयोग हम तब करते हैं जब हमें पता होता है किसी for Loop के Statement Block का प्रयोग कितनी बार करना है। (while Loop in Java)

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW GET DEMO REVIEWS