আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৯] :: জাভাতে কিভাবে ব্যবহার করবেন while loop এবং Do while loop

25
618

আস সালামু আলাইকুম, আশা করি সবাই ভাল আছেন। আজকে আমরা শিখবো আসুন শিখি পরিপূর্ণ জাভা while loop এবং Do while loop স্ট্যাটমেন্ট সম্পর্কে। সবচেয়ে মজার ব্যাপার হল, আপনি প্রোগ্রামার হলেও আজকে গাড়ির ড্রাইভারের মত ব্রেক চাপতে হবে। কেন চাপতে হবে সেটারও  কারণ আছে। সেটা আশা করি যারা সি/সি++ করেছেন তারা সবাই জানেন। এরপরও যারা জানেন না তারা আজ জেনে নিবেন।

তো চলুন আজাইরা কথা না বলে আজকের মত খেলা শুরু করে দেই। আপনি হচ্ছেন আজকের খেলার রেফারি। যদি কোনো কিছু ভুল বলি তাহলে কমেন্টে এসে ঠিক করে দেয়ার অনুরোধ রইলো। আশা করি ভুল হবে না।

চলুন আগে আমরা জেনে নিই যে, লুপ জিনিসটা কি?

লুপ শব্দের অর্থ ফাঁশ দেয়া। মানে যেই পর্যন্ত না মরে সেই পর্যন্ত ঝুলিয়ে রাখা। হা হা হা। আপনাকে ঝুলিয়ে রাখা হবে। তাই আজই পালান। আরে ভাই ভীতু হলে চলবে না। আসলে একটা কাজ বার বার করাকেই লুপিং বলে। একটা নির্দিষ্ট কাজ শেষ না হওয়া পর্যন্ত সেটা একই কাজ বার বার করতে থাকবে। যখনই কাজ শেষ হবে তখনই সে থেমে যাবে। উদাহারণ দিলে বিষয়টা আশা করি স্পষ্ট হতে পারবেন। মনে করুন একটা দুই মাসের বাচ্চার খুব ক্ষুধা লেগেছে। সে কি করবে??? সে কান্না করতেই থাকবে। সে ঐ পর্যন্তই কান্না করতে থাকবে যেই পর্যন্ত মা দুধ পান না করাবে। প্রোগ্রামিং এ এই কান্নাটাই হচ্ছে লুপিং। লুপকে শুধু মাত্র একটা শর্তের মাধ্যমেই নিয়ন্ত্রন করা যায়। সেটা হচ্ছে বাচ্চাটাকে দুধ পান করালেই সে থেমে যাবে। এরকম প্রোগ্রামিং এর ক্ষেত্রেও আমরা একটা পাগলা ঘোড়াকে বলবো চলতে থাক। এরপর শর্ত দিয়ে বলবো যে, যখনই আমার মত কোনো ফহিন্নিকে দেখবি তখনই থেমে যাবি। আচ্ছা চলুন, চলে যাই সরাসরি প্রোগ্রামিং এ । তাহলে বিষয়টা ক্লিয়ার হয়ে যাবেন আশা করি।

প্রথমেই চলুন চলে যাই while লুপ এ। while loop দেখতে ঠিক আপনার মত। নিচে এর স্ট্রাকচারটা দেখে নিন,

  1. while(condition){
  2. //code to be executed
  3. }

মানে আপনি যেমন সহজ সরল লুপটাও ঠিক তেমনি সহজ সরল । না বুঝলে আবার খুবই বিপদ। আর বুঝবেন ই বা না কেন?? এটা তো বাচ্চার সুজি খাওয়ার সিস্টেম বুঝার থেকেও বেশি সহজ। উদাহারণ দিলেই বুঝবেন… আর না বুঝলে আমি কিসের জন্য আছি? আমি হেল্প করবো। তাই ভয় না পেয়ে অন্ধকারেই পথ চলতে শিখুন।

উদাহারণঃ

  1. public class WhileExample {
  2. public static void main(String[] args) {
  3.     int i=1;
  4.     while(i<=10){
  5.         System.out.println(i);
  6.     i++;
  7.     }
  8. }
  9. }

আগেই বলেছিলাম লুপকে একটা শর্ত দিয়ে কাজ করাতে হবে। যদি কোনো শর্ত না দেন তাহলে সেটা পাগলা ঘোড়ার মত দৌড়াতেই থাকবে । তাই উপরের প্রোগ্রামটিতে বলা হয়েছে while(যতক্ষন) (i<=10) (মানে i এর মান ১০এর কম বা ১০ এর সমান থাকবে)  ততক্ষন এর ভিতরের কোডগুলো কাজ করবে। আর যখনই এই শর্ত মিথ্যা হয়ে যাবে তখনই খেলা শেষ।  তাই শর্ত শুরু করার আগেই আমরা i এর মান এক ইনিশিয়ালাইজ করে দিয়েছি। এখন তো ১০ পর্যন্ত যেতে হবে তাই না?? তাই শর্তের পরে আমরা i++ এর মাধ্যমে i এর মান ১ করে বাড়াতে থাকবে। প্রতিবার  System.out.println(i) এই লাইনের কাজ শেষ করেই i এর মান ১ করে বাড়াবে। আর System.out.println(i) এই লাইন এর কাজ হচ্ছে i এর মান প্রিন্ট করা। যেহেতু i এর মান ১ থেকে ১০ পর্যন্ত এক করে বেড়েছে এবং i এর মান প্রিন্ট করবে।  তাই ১ থেকে ১০ পর্যন্ত সবগুলোই প্রিন্ট করবে। আশা করি এই লুপ বুঝে গেছেন। না বুঝলে এই লেখাগুলো আবার পড়ুন আর উপরের প্রোগ্রামের সাথে মিলিয়ে দেখুন।

চলুন জেনে নিই do-while লুপ সম্পর্কে

আসুন দেখি এটা দেখতে কেমনঃ

দেখে তো ভালই লাগলো। while loop এর মতই । তাই না?

আসুন সিন্টেক্স দেখিঃ

  1. do{
  2. //code to be executed
  3. }while(condition);

আশা করি এবার while এবং do-while এর পার্থক্য বুঝে গেছেন। বুঝেন নি? সমস্যা নেই ঔষধ আছে তো। আমি কি জন্য রয়েছি? আমার কাজ ই তো হচ্ছে আপনাকে বুঝানো তাই না? আচ্ছা, একটু লক্ষ করুন পার্থক্য টা আসলে কোথায়? পার্থক্য টা হচ্ছে শর্ত বা কন্ডিশন যেই লাইনে দেই সেটায়। while লুপে আমরা আগে কন্ডিশন দিয়েছি , যদি সেটা সত্য হয়েছে তবে ভিতরের কোড কাজ করেছে ।আর do-while লুপে আমরা প্রথমেই বলেছি do মানে কর। করবি না কেন? তার মানে প্রথমেই সে একবার কাজ করবে। কারণ কোনো শর্ত দেয়া নাই। এরপর গিয়ে কন্ডিশন চেক করে দেখবে সত্যি কি না। যদি সত্যি হয় তবে পরের লুপগুলো ঐ কন্ডিশন চেক করে কাজ করবে। অর্থাৎ দুটি লুপের মধ্যে পার্থক্য এটাই যে, while loop এর যে শর্ত দেয়া হয় তা যদি প্রথমবারই মিথ্যা হয়ে যায় তবে লুপের ভিতরের কোডগুলো এক্সিকিউট হবে না বা কাজ করবে না আর do-while লুপে প্রথমবার শর্ত চেক না করেই কাজ করে ফেলবে। পরের কাজগুলোর ক্ষেত্রে শর্ত চেক করবে। আসুন একটি উদাহারণ দিলেই আশা করি খুব সহজেই বুঝে যাবেন। তো চলুন শুরু করা যাক…

  1. public class DoWhileExample {
  2. public static void main(String[] args) {
  3.     int i=1;
  4.     do{
  5.         System.out.println(i);
  6.     i++;
  7.     }while(i<=10);
  8. }
  9. }

উপরের প্রোগ্রামটিতে প্রথমেই ১ প্রিন্ট করে দেখাবে। এরপর ১ইঙ্ক্রিমেন্ট করবে। পরে কন্ডিশন চেক করবে । যদি কন্ডিশন বা শর্ত ঠিক থাকে তাহলে চলতে থাকবে। আর না হলে খেলা শেষ হয়ে যাবে। এই প্রোগ্রামটিতে যেহেতু শর্ত দেয়া হয়েছে i<=10 তাই এই প্রোগ্রামটিতে ১ থেকে ১০ পর্যন্ত সংখ্যাগুলো প্রিন্ট করতে থাকবে।

যাইহোক, আজকের মত এই পর্যন্তই। বেশি দিলে অনেকেই লোড নিতে পারবে না। তাই যাবার আগে একটা অনুরোধ অবশ্যই কোডগুলো নিজে লিখে রান করাবেন। প্র্যাক্টিস করতে থাকুন। কারণ প্র্যাক্টিস মেকস এ ম্যান পারফেক্ট।আজকের মত বিদায়।

আল্লাহ হাফিজ

ফেসবুকে আমি 

আপনিও হতে পারবেন English Grammar এর বস

 

 

Series Navigation<< আসুন শিখি পরিপূর্ণ জাভা [পর্ব-৮] :: আসুন জেনে নিই if, if else, if-else-if ladder এবং switch সম্পর্কে বিস্তারিত

25 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here