লুপ (Loops)
লুপ কেন প্রয়োজন? (Why Loops?)
কল্পনা করুন আপনাকে বোর্ডে ১০০ বার লিখতে হবে "আমি ক্লাসে কাগজের বিমান ওড়াবো না"। আপনি চাইলে ১০০ বার System.out.println() লিখতে পারেন... অথবা একটি লুপ (loop) ব্যবহার করে মাত্র একবার লিখলেই কাজ হয়ে যাবে।
লুপ আপনার কোডের নির্দিষ্ট অংশকে বারবার রিপিট (repeat) করতে বা পুনরাবৃত্তি করতে সাহায্য করে। জাভাতে এর জন্য তিনটি উপায় রয়েছে:
for— যখন আপনি জানেন যে কতবার রিপিট করতে হবে, তখন এটি সবচেয়ে ভালো কাজ করে।while— যখন আপনি কোনো শর্ত পরিবর্তন না হওয়া পর্যন্ত রিপিট করতে চান, তখন এটি সবচেয়ে ভালো কাজ করে।do-while— অনেকটাwhileএর মতোই, কিন্তু এটি অন্তত একবার রান করার নিশ্চয়তা দেয়।
চিরচেনা for লুপ (The Classic for Loop)
হোয়াইল, ডু-হোয়াইল এবং ফর-ইচ (While, Do-While & For-Each)
একটি while লুপ হলো দরজায় দাঁড়িয়ে থাকা প্রহরীর মতো, যে সারাক্ষণ চেক করে: "শর্তটি কি এখনও সত্য? ঠিক আছে, আবার যাও।" এটি প্রতিবার রান করার আগেই চেক করে, তাই শর্তটি যদি শুরু থেকেই মিথ্যা হয়, তবে এর ভেতরের কোড কখনোই এক্সিকিউট হয় না বা রান করে না।
do-while লুপ পুরোই উল্টো — এটি আগেই ভেতরের কোড রান করে, এবং তারপর শর্ত চেক করে। অনেকটা এমন রেস্টুরেন্টের মতো, যারা আপনাকে আরও খাবার লাগবে কি না তা জিজ্ঞেস করার আগেই একটি ফ্রি স্যাম্পল (free sample) খেতে দেয়।
এনহ্যান্সড ফর-ইচ (enhanced for-each) লুপ হলো কোনো অ্যারে (array) বা কালেকশনের (collection) ভেতর থাকা প্রতিটি উপাদানকে ধরে ধরে চেক করার সবচেয়ে সহজ উপায়। এক্ষেত্রে আলাদাভাবে ইনডেক্স গোনার কোনো দরকার নেই — জাভা আপনাকে নিজ থেকেই একটা একটা করে আইটেম হাতে এনে দেবে।
While, Do-While & For-Each
ব্রেক, কন্টিনিউ এবং লেবেলড ব্রেক (Break, Continue & Labeled Break)
while(true) লুপ তখনই নিরাপদ যখন আপনি এর ভেতরে একটি break ব্যবহার করেন।