for লুপ হলো এমন একটি ব্যবস্থা, যা কোনো শর্ত পূরণ হওয়া পর্যন্ত একগুচ্ছ স্টেটমেন্ট বারবার চালাতে দেয়। লুপটির চারটি অংশ থাকে:
for (initialization; test; update) {
body;
}
initialization লুপের জন্য একটি প্রাথমিক অবস্থা নির্ধারণ করে এবং লুপ শুরু হওয়ার সময় একবারই চালানো হয়।
সাধারণত এটি টেস্ট এক্সপ্রেশন ও আপডেট স্টেটমেন্টে ব্যবহৃত একটি ভ্যারিয়েবল ডিক্লেয়ার করে এবং মান অ্যাসাইন করে।
যেমন:
int i = 1
test এক্সপ্রেশন পরীক্ষা করে লুপটি শেষ হওয়া উচিত কিনা।
এটি যদি ট্রু হয়, তবে বডি এবং তারপর আপডেট এক্সপ্রেশন চালানো হবে।
আর এটি যদি ফলস হয়, তবে বডি কিংবা আপডেট স্টেটমেন্ট কোনোটিই চালানো হবে না এবং লুপের শেষ বন্ধনীর পরে এক্সিকিউশন আবার শুরু হয়।
সাধারণত এটি ইনিশিয়ালাইজেশন ব্লকে অ্যাসাইন করা ভ্যারিয়েবলটি পরীক্ষা করে।
যেমন:
i <= 10
লুপের বডি চালানোর পর update এক্সপ্রেশন চালানো হয়।
সাধারণত এটি লুপ ভ্যারিয়েবলটি কোনো মান দিয়ে বাড়ায় বা কমায়।
যেমন:
i++
প্রথম চারটি বর্গসংখ্যা প্রিন্ট করতে একটি for লুপ দেখতে এমন হবে:
for (int i = 1; i <= 4; i++) {
System.out.println(i * i);
}
/* =>
1
4
9
16
*/
কোনো কালেকশনের প্রতিটি এলিমেন্টের মধ্য দিয়ে ইটারেশন করতে হলে for-each লুপকেই প্রাধান্য দেওয়া হয়, তবে for লুপ দিয়েও এভাবে করা যায়:
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
for-each লুপের তুলনায় for লুপের কিছু সুবিধাও আছে:
for লুপ ব্যবহার করতে পারেন।