প্রোগ্রামিং-এ, প্রায়শই এমন উদাহরণ রয়েছে যেখানে আপনার একটি পুনরাবৃত্তিমূলক কাজ রয়েছে যা আপনি একাধিকবার সম্পাদন করতে চান। লুপগুলি এই পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করতে এবং আপনাকে আরও দক্ষ কোড তৈরি করতে দেয়।
while
এবং do...while
জাভাতে লুপগুলি কোডের একটি ব্লক কার্যকর করতে ব্যবহৃত হয় যতক্ষণ না একটি নির্দিষ্ট শর্ত পূরণ করা হয়। এই লুপগুলি শর্তসাপেক্ষ if
এর মত বিবৃতি, যা কোডের ব্লক যা শুধুমাত্র কার্যকর হয় যদি একটি নির্দিষ্ট শর্ত সত্যে মূল্যায়ন করা হয়। একটি if
থেকে ভিন্ন বিবৃতি, তবে, while
একটি শর্ত আর সত্য না হওয়া পর্যন্ত loops চলে।
এই টিউটোরিয়ালটি while
এর মূল বিষয় নিয়ে আলোচনা করবে এবং do...while
জাভাতে বিবৃতি, এবং একটি জাভা প্রোগ্রামে এই বিবৃতিগুলি প্রদর্শন করার জন্য কয়েকটি উদাহরণের মধ্য দিয়ে হেঁটে যাবে।
জাভা যখন লুপ
while
কোডের একটি ব্লকের মাধ্যমে লুপ লুপ যতক্ষণ পর্যন্ত একটি নির্দিষ্ট শর্ত সত্যে মূল্যায়ন করে। while
এর জন্য সিনট্যাক্স লুপ একটি প্রথাগত if
এর অনুরূপ বিবৃতি এখানে একটি Java while
এর সিনট্যাক্স রয়েছে লুপ:
while (condition_is_met) { // Code to execute }
while
লুপ বন্ধনীর ভিতরে অভিব্যক্তি পরীক্ষা করবে। যদি বুলিয়ান এক্সপ্রেশনটি সত্যে মূল্যায়ন করে, লুপের মূল অংশটি কার্যকর হবে, তারপর অভিব্যক্তিটি আবার মূল্যায়ন করা হবে। প্রোগ্রামটি এই প্রক্রিয়াটি চালিয়ে যাবে যতক্ষণ না অভিব্যক্তিটি মিথ্যাতে মূল্যায়ন করা হয়, তারপরে while
লুপ থামানো হয়েছে, এবং বাকি প্রোগ্রাম রান হবে।
কিভাবে while
তা দেখানোর জন্য একটি উদাহরণ দিয়ে চলুন জাভাতে লুপ ব্যবহার করা যেতে পারে। বলুন আমরা একজন কাঠমিস্ত্রি এবং আমরা আমাদের দোকানে একটি নতুন টেবিল বিক্রি শুরু করার সিদ্ধান্ত নিয়েছি। আমাদের কেবল পাঁচটি টেবিল তৈরি করার ক্ষমতা আছে, এর পরে যারা একটি টেবিল চান তাদের একটি অপেক্ষা তালিকায় রাখা হবে।
আমরা একটি প্রোগ্রাম তৈরি করতে চাই যা আমাদের বলে যে আমাদের অপেক্ষা তালিকায় রাখার আগে আরও কত লোক একটি টেবিল অর্ডার করতে পারে। আমরা একটি while
ব্যবহার করে তা করতে পারি এইরকম লুপ যা লুপের বডি এক্সিকিউট করবে যতক্ষণ না করা অর্ডারের সংখ্যা সীমার চেয়ে কম না হয়:
int limit = 5; int orders_made = 0; while (orders_made < limit) { orders_made++; int capacity = limit - orders_made; String message = capacity + "more tables can be ordered."; System.out.println(message); }
আমাদের কোড ফিরে আসে:
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
4 more tables can be ordered. 3 more tables can be ordered. 2 more tables can be ordered. 1 more tables can be ordered. 0 more tables can be ordered.
আসুন আমাদের কোড ভাঙ্গা যাক। প্রথম লাইনে, আমরা limit
নামে একটি ভেরিয়েবল ঘোষণা করি যে টেবিলের সর্বোচ্চ সংখ্যা ট্র্যাক রাখে আমরা করতে পারেন. তারপর, আমরা orders_made
নামে একটি ভেরিয়েবল ঘোষণা করি যে অর্ডারের সংখ্যা সঞ্চয় করে।
আমাদের প্রোগ্রাম তারপর একটি while
চালায় লুপ, যা orders_made
চলাকালীন চলে limit
থেকে কম . তারপর, আমরা orders_made++
ব্যবহার করি orders_made
-এ 1 যোগ করতে ইনক্রিমেন্ট অপারেটর .
ইনক্রিমেন্ট অপারেটর কার্যকর করার পরে, আমাদের প্রোগ্রাম “orders_made
বিয়োগ করে টেবিলের অবশিষ্ট ক্ষমতা গণনা করে। limit
থেকে . তারপর, এটি বার্তাটি প্রিন্ট করে [capacity] more tables can be ordered.
কনসোলে
orders_made
হলে আমাদের "যখন" বিবৃতিটি চলা বন্ধ হয়ে যায় limit
থেকে বড় .
Java Do while Loop
do...while
লুপ হল এক প্রকার while
লুপ. do...while
লুপ do
-এ কোডের ব্লক চালায় একটি শর্ত সত্য মূল্যায়ন করে কিনা তা পরীক্ষা করার আগে একবার ব্লক করুন। তারপর, প্রোগ্রামটি লুপ পুনরাবৃত্তি করবে যতক্ষণ না শর্তটি সত্য হয়।
while
এর মধ্যে পার্থক্য এবং do...while
loops হল যে while
লুপ একটি শর্তের আগে মূল্যায়ন করে while
কোডটি চালাচ্ছে ব্লক করুন, যেখানে করবেন…যখন লুপগুলি অবস্থার পরে মূল্যায়ন করে কোডটি do
-এ চলছে ব্লক
do...while loop এর সিনট্যাক্স নিম্নরূপ:
do { // Code to execute } while (condition_is_met);
কিভাবে do…while loop কাজ করে তা ব্যাখ্যা করার জন্য একটি উদাহরণ ব্যবহার করা যাক।
বলুন যে আমরা একটি অনুমান করার গেম তৈরি করছি যা একজন ব্যবহারকারীকে এক থেকে দশের মধ্যে একটি সংখ্যা অনুমান করতে বলে। আমরা চাই যে আমাদের ব্যবহারকারীরা সঠিক সংখ্যা অনুমান করেছেন কিনা তা পরীক্ষা করার আগে প্রথমে একটি নম্বর লিখতে বলা হোক। যদি ব্যবহারকারী ভুল নম্বর প্রবেশ করে, তাহলে তাদের আবার চেষ্টা করার জন্য উন্নীত করা উচিত। আমরা একটি do…while loop ব্যবহার করে এই কাজটি সম্পন্ন করতে পারি।
এখানে একটি প্রোগ্রামের উদাহরণ দেওয়া হল যা একজন ব্যবহারকারীকে একটি সংখ্যা অনুমান করতে বলে, তারপর মূল্যায়ন করে যে ব্যবহারকারী একটি do…while loop ব্যবহার করে সঠিক সংখ্যাটি অনুমান করেছেন কিনা:
import java.util.Scanner; class GuessingGame { public static void main(String[] args) { int number = 8; int guess = 0; Scanner input = new Scanner(System.in); do { System.out.print("Enter a number between 1 and 10: "); guess = input.nextInt(); } while (number != guess); System.out.println("You're correct!"); } }
যখন আমরা আমাদের কোড চালাই, তখন আমাদের প্রথম নম্বরটি অনুমান করতে বলা হয় , আমাদের do...while
এ শর্তের আগে লুপ মূল্যায়ন করা হয়। শেষ পর্যন্ত সঠিকটি অনুমান করার আগে আমরা যখন কয়েকটি সংখ্যা অনুমান করার চেষ্টা করি তখন কী ঘটে তা এখানে:
Enter a number between 1 and 10: 9 Enter a number between 1 and 10: 1 Enter a number between 1 and 10: 4 Enter a number between 1 and 10: 5 Enter a number between 1 and 10: 8 You're correct!
আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমে, আমরা util.Scanner
আমদানি করি পদ্ধতি, যা ব্যবহারকারীর ইনপুট সংগ্রহ করতে ব্যবহৃত হয়। তারপরে আমরা GuessingGame
নামে একটি ক্লাস সংজ্ঞায়িত করি যেখানে আমাদের কোড বিদ্যমান।
তারপরে আমরা দুটি ভেরিয়েবল সংজ্ঞায়িত করি:একটিকে বলা হয় number
যেটি অনুমান করার জন্য নম্বর সঞ্চয় করে এবং আরেকটিকে guess
বলা হয় যা ব্যবহারকারীদের অনুমান সংরক্ষণ করে।
তারপর, আমরা আমাদের ব্যবহারকারীর ইনপুট শুরু করতে স্ক্যানার পদ্ধতি ব্যবহার করি। আমরা বার্তা প্রিন্ট আউট করি Enter a number between 1 and 10:
কনসোলে, তারপর input.nextInt()
ব্যবহার করুন ব্যবহারকারী যে নম্বরটি প্রবেশ করেছে তা পুনরুদ্ধার করার পদ্ধতি।
এই কোডটি কার্যকর হওয়ার পরে, do...while লুপ মূল্যায়ন করে যে ব্যবহারকারীর অনুমান করা সংখ্যাটি ব্যবহারকারীর অনুমান করা সংখ্যার সমান কিনা। ব্যবহারকারী ভুল নম্বর অনুমান করে থাকলে, do
এর বিষয়বস্তু আবার লুপ রান; যদি ব্যবহারকারী সঠিক নম্বরটি অনুমান করে থাকেন, তাহলে করণীয়...যখন লুপ কার্যকর করা বন্ধ করে দেয় এবং You’re correct!
কনসোলে প্রিন্ট করা হয়।
অসীম লুপস
অসীম লুপগুলি এমন লুপ যা চিরকাল চলতে থাকবে। যদি আপনার একটি while
থাকে loop যার বিবৃতি মিথ্যা বলে মূল্যায়ন করে না, লুপটি চলতে থাকবে এবং আপনার প্রোগ্রামটি ক্র্যাশ করতে পারে। সুতরাং, এটি নিশ্চিত করা গুরুত্বপূর্ণ যে, কোনো সময়ে, আপনার সময় লুপ চলা বন্ধ করে দেয়।
এখানে জাভাতে একটি অসীম লুপের একটি উদাহরণ:
while (true) { // Code to execute }
এই লুপ অসীমভাবে চালানো হবে. যাইহোক, আমরা break
ব্যবহার করে আমাদের প্রোগ্রাম বন্ধ করতে পারি বিবৃতি ধরা যাক আমরা একটি প্রোগ্রাম তৈরি করছি যা স্টকে কতগুলি টেবিল রয়েছে তা ট্র্যাক করে। আমাদের কাছে মাত্র পাঁচটি টেবিল আছে। যখন কোনো টেবিল ইন-স্টক না থাকে, তখন আমরা আমাদের while
চাই থামাতে লুপ আমরা একটি প্রোগ্রাম তৈরি করতে পারি যা নিম্নলিখিত কোড ব্যবহার করে এই বৈশিষ্ট্যগুলি পূরণ করে:
Boolean tables_in_stock = true; int orders_made = 0; while (tables_in_stock) { orders_made++; if (orders_made == 5) { System.out.println("We are out of stock."); break; } else { int tables_left = 5 - orders_made; String message = "There are " + tables_left + " tables in stock."; System.out.println(message); } }
যখন আমরা আমাদের কোড চালাই, তখন নিম্নলিখিত প্রতিক্রিয়াটি ফিরে আসে:
There are 4 tables in stock. There are 3 tables in stock. There are 2 tables in stock. There are 1 tables in stock. We are out of stock.
আমাদের উদাহরণে, while
যতক্ষণ tables_in_stock
ততক্ষণ লুপ চালানো চলবে সত্য. কিন্তু আমরা কখনই এমন একটি উপায় নির্দিষ্ট করি না যেখানে tables_in_stock
মিথ্যা হয়ে যেতে পারে।
সুতরাং, আমাদের কোডে, আমরা একটি break
ব্যবহার করি orders_made
করার সময় যে বিবৃতি কার্যকর করা হয় 5 এর সমান।
এর মানে হল যে যখন পাঁচটিরও কম অর্ডার করা হয়েছে, তখন একটি বার্তা প্রিন্ট করা হবে যে, There are [tables_left] tables in stock.
কিন্তু যখন orders_made
5 এর সমান, We are out of stock.
বলে একটি বার্তা কনসোলে প্রিন্ট করা হবে, এবং বিরতি বিবৃতি কার্যকর করা হবে। যখন বিরতি বিবৃতি চালানো হয়, তখন আমাদের while
বিবৃতি বন্ধ হয়ে যাবে।
উপসংহার
while
জাভাতে লুপ ব্যবহার করা হয় যখন একটি বিবৃতি সত্য হয় তখন কোডের একটি নির্দিষ্ট ব্লক কার্যকর করে এবং বিবৃতিটি মিথ্যা হলে থামে। do...while
loop প্রথমে কোডের একটি ব্লক নির্বাহ করে, তারপর লুপটি চালিয়ে যাওয়া উচিত কিনা তা দেখতে একটি বিবৃতি মূল্যায়ন করে।
এই টিউটোরিয়ালে আলোচনা করা হয়েছে কিভাবে while
উভয়ই ব্যবহার করতে হয় এবং do...while
জাভাতে লুপ। আমরা অসীম লুপ সম্পর্কেও কথা বলেছি এবং জাভা প্রোগ্রামে এই প্রতিটি পদ্ধতির একটি উদাহরণ দিয়ে হেঁটেছি। আপনি এখন জাভা while
লিখতে প্রয়োজন সেই জ্ঞান দিয়ে সজ্জিত এবং do...while
একজন বিশেষজ্ঞের মতো লুপ!