किसी विशेष शर्त (condition) के संतुष्ट होने तक loop का उपयोग बार-बार statements के सेट को निष्पादित (execute) करने के लिए किया जाता है| java में हमारे पास 3 प्रकार के loop है : for, while, do-while
इस tutorial में हम java में “for” loop का उपयोग करना सीखंगे
Syntax of for loop:
for(initialization; condition ; increment/decrement)
{
statement(s);
}
For loop के लिए निष्पादन का प्रवाह (Flow of Execution of the for Loop)
जैसे ही कोई program निष्पादित (execute) होता है, interpreter हमेशा इस बात पर नजर रखता है की किस statement को निष्पादित (execute) किया जाना है, हम इसे नियंत्रण प्रवाह (control flow) कहते है|
- पहला चरण (first step) :- for loop में इनिशियलाइज़ेशन पहले और केवल एक बार होता है, जिसका अर्थ है की for loop में इनिशियलाइज़ेशन पार्ट केवल एक बार निष्पादित (execute) होता है|
- दूसरा चरण (second step) :- for loop में शर्त (condition) का मूल्यांकन (evaluation) प्रत्येक पुनरावृत्ति पर किया जाता है, यदि शर्त (condition) true है तो for loop की body के अंदर के कथनों को निष्पादित किया जाता है| एक बार जब शर्त (condition) false हो जाती है तो for loop के statements निष्पादित (execute) नहीं होते और control program में loop के बाद अगले statement में स्थानांतरित हो जाता है|
- तीसरा चरण (third step) :- for loop की body के अंदर के statement के निष्पादन (execution) के बाद for loop का increment / decrement पार्ट निष्पादित (execute) होता है जो loop के काउंटर को अपडेट करता है|
- चौथा चरण (fourth step) :- तीसरे चरण के बाद control दुसरे चरण पर जाता है और पुनः condition का मूल्यांकन किया जाता है|
class ForLoopExample {
public static void main(String args[]){
for(int i=10; i>1; i--){
System.out.println("The value of i is: "+i);
}
}
}
परिणाम (output):-
The value of i is: 10
The value of i is: 9
The value of i is: 8
The value of i is: 7
The value of i is: 6
The value of i is: 5
The value of i is: 4
The value of i is: 3
The value of i is: 2
ऊपर लिखे program में
int i=1, इनिशियलाइज़ेशन expression है
i>1 , शर्त (condition) है
i–, Decrement ऑपरेशन
Infinite for loop
Boolean expression और increment / decrement ऑपरेशन के समन्वय का महत्त्व
class ForLoopExample2 {
public static void main(String args[]){
for(int i=1; i>=1; i++){
System.out.println("The value of i is: "+i);
}
}
}
यह एक अनंत (infinite) loop है क्युकि यहाँ शर्त (condition) कभी भी false नहीं होगी, इनिशियलाइज़ेशन step वेरिएबल i से 1 का मान (value) सेट कर रहा है, क्योकि हम यहाँ शर्त (condition) में i की value बड़ा रहे है और यह हमेशा 1 (Boolean expression : i > 1) से अधिक होगा, इसलिए यह कभी भी false नहीं होगा| यह अनंत (infinite) loop की स्थिति को उत्पन्न करेगा| इसलिए boolean expression और increment / decrement के बीच समन्वय होना महत्वपूर्ण है|
यहाँ infinite for loop के लिए एक और उदाहरण दिया गया है
// infinite loop
for (; ;) {
// statement(s)
}
किसी ऐरे की पुनरावृत्ति के लिए for loop का उदाहरण (For loop example to iterate an array)
class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
//i starts with 0 as array index starts with 0 too
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
परिणाम (Output) :-
2
11
45
9
Enhanced for loop
जब आप array / collections को पुनरावृत्त (iterate) करना चाहते है तब Enhanced for loop आवश्यक होता है, इसे लिखना और समझना आसान है| ऊपर लिखे उदाहरण को एकबार फिरसे Enhanced for loop का उपयोग करते हुए लिखते है –
class ForLoopExample3 {
public static void main(String args[]){
int arr[]={2,11,45,9};
for (int num : arr) {
System.out.println(num);
}
}
}
परिणाम (Output):
2
11
45
9
नोट : – उपर्युक्त उदाहरण में variable num को integer डाटा टाइप का रूप देते हुए Enhanced for loop में declare किया है, यह array के data type के अनुसार परिवर्तित हो सकता है, उदाहरण के लिए string data type के लिए Enhanced for loop इस प्रकार होगा –
String arr[]={"hi","hello","bye"};
for (String str : arr) {
System.out.println(str);
}