CodeGym /Java Blog /এলোমেলো /লুপের জন্য জাভা
John Squirrels
লেভেল 41
San Francisco

লুপের জন্য জাভা

এলোমেলো দলে প্রকাশিত
একবার মার্ক জুকারবার্গ উল্লেখ করেছিলেন যে কম্পিউটারগুলি কমান্ডের পুনরাবৃত্তিতে সত্যিই ভাল। এটি একজন মানুষের জন্য সহজ নয়, আমরা একই জিনিস টানা অনেকবার পুনরাবৃত্তি করতে ক্লান্ত হয়ে পড়ছি, কিন্তু একটি কম্পিউটার এটি লক্ষ লক্ষ এবং বিলিয়ন বার করতে পারে এবং কখনও বিরক্ত হয় না। আপনি যদি সমস্ত Facebook ব্যবহারকারীদের শুভেচ্ছা পাঠানোর চেষ্টা করেন, তবে এটি করার জন্য যথেষ্ট দিন নেই। তবে আপনি কয়েকটি লাইন কোড লিখে এই কাজটি সমাধান করার জন্য একটি কম্পিউটার তৈরি করতে পারেন। এইভাবে লুপ কাজ করে। তারা আমাদের একই রুটিন কর্ম পুনরাবৃত্তি না করতে দেয়. জাভাতে সবচেয়ে জনপ্রিয় লুপ হল তথাকথিত সংজ্ঞায়িত লুপ বা ফর লুপ।

জাভাতে লুপের জন্য কীভাবে লিখবেন? সাধারণভাবে লুপের জন্য

ফর লুপ নির্দিষ্ট সংখ্যক সময়ের জন্য কিছু স্টেটমেন্ট এক্সিকিউট করে। উদাহরণ স্বরূপ, পঞ্চাশ বার লিখতে হবে "আমি এমন হতে পারি না, হো-হো, হো" বা আপনার সমস্ত বন্ধুদের আমন্ত্রণ পাঠানো এই ধরণের লুপের জন্য সাধারণ কাজ। লুপের সবচেয়ে সাধারণ সংস্করণের সিনট্যাক্স:

for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
প্রারম্ভিক অভিব্যক্তিটি একবার কার্যকর করা হয়, তারপর শর্তটি মূল্যায়ন করা হয়, যা একটি বুলিয়ান অভিব্যক্তি হওয়া উচিত।
  • লুপ শুরু হলে ইনিশিয়ালাইজেশন এক্সিকিউট হয়।
  • যখন শর্তগুলি মিথ্যাতে মূল্যায়ন করে, আমাদের লুপ তার কাজ বন্ধ করে দেয়।
কাউন্টার পরিবর্তন হচ্ছে, সাধারণত লুপের মাধ্যমে প্রতিটি পুনরাবৃত্তির পরে বৃদ্ধি (বা হ্রাস) ঘটে। আপনি তিনটি লুপ এক্সপ্রেশনের যে কোনো একটি এড়িয়ে যেতে পারেন (শুরু করা, অবস্থা পরীক্ষা করা, কাউন্টার পরিবর্তন করা)। লুপের পরবর্তী ধাপের আগে লুপের অবস্থা চেক করা হয়। শর্তটি মিথ্যা হলে, প্রোগ্রামটি লুপের বাইরে চলে যায় এবং নির্মাণের জন্য নির্দেশনা অনুসরণ করে চালিয়ে যায়। এখানে আমরা লুপের জন্য একটি ব্লক ডায়াগ্রাম করেছি। জাভাতে লুপের জন্য - 2

জাভাতে লুপের জন্য কীভাবে ব্যবহার করবেন। সহজ উদাহরণ।

লুপ উদাহরণের জন্য এখানে একটি নির্দিষ্ট জাভা। দশবার লিখি "হ্যালো!" স্ট্রিং প্রতিবার এই লাইনের একটি সংখ্যা সহ নতুন লাইন থেকে হবে। আমাদের পরবর্তী আউটপুট পাওয়া উচিত:
  1. হ্যালো!
  2. হ্যালো!
  3. হ্যালো!
  4. হ্যালো!
  5. হ্যালো!
  6. হ্যালো!
  7. হ্যালো!
  8. হ্যালো!
  9. হ্যালো!
  10. হ্যালো!
এখানে আমাদের জাভা প্রোগ্রাম যা এই সমস্যার সমাধান করে:

public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

কিভাবে এটা কাজ করে?

ধাপ 1. কাউন্টার i = 0. লুপ আমাদের অবস্থা পরীক্ষা করে, i << 10, তাই, লুপ স্টেটমেন্ট চালানো হয়। এটি "1. হ্যালো!" বাক্যাংশটি প্রিন্ট করে। 1 একটি স্ট্রিং i + 1 (কারণ আমরা শূন্য থেকে গণনা করেছি, কিন্তু প্রথম লাইনটি এখনও প্রথম)। কাউন্টার আমি বৃদ্ধি করা হয়. এখন, i = 1. ধাপ 2. কাউন্টার i = 1. i < 10, তাই আমরা একটি বাক্যাংশ পেয়েছি "2. হ্যালো!" এবং i + 1 = 2। … ধাপ 10। কাউন্টার i = 9, আমরা পেয়েছি "10। হ্যালো!" এবং i 10 এ বৃদ্ধি করা হয়। ধাপ 11। কাউন্টার i = 10। i < 10? না, এটা মিথ্যা। অতএব, লুপ শেষ হয়. জাভাতে লুপের জন্য - 3

যখন লুপ এবং লুপের জন্য: পার্থক্য এবং মিল

জাভা ইনডিফিনিট লুপ বা while লুপ ক্রমাগতভাবে চালানো হয় যদি বুলিয়ান কন্ডিশন সত্য হয়। while লুপের সিনট্যাক্স:

while (boolean condition)
       {
            loop statements...
       }
প্রায়শই আপনি কোন লুপ ব্যবহার করতে চান তা বেছে নিতে পারেন। কখনও কখনও তারা খুব কাছাকাছি এবং আপনি তাদের উভয় ব্যবহার করতে পারেন. উদাহরণ স্বরূপ, এখানে একই কাজের জন্য কোড দেওয়া হল (একটি লাইনের সাথে দশবার "হ্যালো!" লেখা) while লুপ দিয়ে লিখেছেন:

public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way 
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
যাইহোক, পেশাদার প্রোগ্রামাররা আসলে while লুপ পছন্দ করেন না এবং যেখানেই সম্ভব, লুপ ব্যবহার করার চেষ্টা করুন।
জন্য যখন

আমরা যদি ইতিমধ্যেই পুনরাবৃত্তির সংখ্যা জানতাম তাহলে আমরা লুপ ব্যবহার করি।

আমরা যখন পুনরাবৃত্ত সংখ্যা ঠিক জানি না যদি লুপ ব্যবহার করি।

ইনিশিয়ালাইজেশন, কন্ডিশন চেকিং এবং পাল্টা পরিবর্তন ইতিমধ্যেই একটি লুপের সিনট্যাক্সে সেলাই করা হয়েছে

লুপের ভিতরে সূচনা এবং অবস্থা পরীক্ষা করা। আপনি অতিরিক্ত বিবৃতিতে পাল্টা ব্যবহার করতে পারেন।

এর জন্য অসীম লুপ:


for(;;){
	System.out.println("working...");
}

অসীম লুপ যখন:


while(true){
	System.out.println("working...");
}

কিভাবে জাভা এ লুপ থেকে প্রস্থান করবেন

সাধারণত a for loop একটি প্রবাহের মতো চলছে এবং একটি লুপ থেকে প্রস্থান করার স্বাভাবিক উপায় হল যখন একটি শর্ত একটি মিথ্যা মান নেয়। যাইহোক দুটি কন্ট্রোল স্টেটমেন্ট রয়েছে যা আপনাকে একটি শর্তের মিথ্যা মান পাওয়ার আগে লুপ থেকে প্রস্থান করার অনুমতি দেয় — বিরতি এবং চালিয়ে যান।
  • break বর্তমান লুপ বডি থেকে প্রস্থান করতে দেয় যেন লুপের কন্ডিশন মিথ্যাতে মূল্যায়ন করা হয়েছে।
  • অবিরত বিবৃতি নির্বাহ না করেই পরবর্তী ধাপে (কাউন্টারটি পুনরাবৃত্তি করে) যাওয়ার জন্য লুপ তৈরি করে।
চলুন বিরতি এবং অবিরত ব্যবহার করে পরবর্তী সমস্যার সমাধান করা যাক। আমাদের নামগুলির একটি অ্যারে আছে এবং আমরা অপরিচিতদের ছাড়া এই অ্যারে থেকে সবাইকে হ্যালো বলি। তাই যদি আমরা আমাদের লুপের সময় একটি "অপরিচিত" স্ট্রিং এর সাথে দেখা করি তবে আমরা এটি থেকে প্রস্থান করি (দূরে যান এবং অন্য কাউকে হ্যালো বলা বন্ধ করুন)।

public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array            
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
আমাদের প্রোগ্রাম সঞ্চালনের ফলাফল হল:

Hello,Mike
Hello,Dustin
I don't chat with strangers
দেখা? আমরা লুকাস এবং উইলকে শুভেচ্ছা জানানোর আগে লুপ থেকে পালিয়ে গিয়েছিলাম। এখন চলুন ব্যবহার করা যাক, শুধুমাত্র একজন "অপরিচিত" কে উপেক্ষা করার জন্য কিন্তু অন্য বন্ধুদের হ্যালো বলার জন্য লুপের ভিতরে থাকুন।

public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
ফলাফল হলো:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
চমৎকার! আমরা সব বন্ধুদের সালাম দিলাম, কিন্তু অপরিচিত কারো সাথে কথা বলিনি।

লুপ বা প্রত্যেকের জন্য-এর উন্নত সংস্করণ

For-each হল এক ধরনের লুপ যা ব্যবহার করা হয় যখন আপনি একটি অ্যারে বা সংগ্রহের সমস্ত উপাদান প্রক্রিয়া করতে চান। প্রকৃতপক্ষে, এই চক্রে প্রত্যেকের জন্য খুব শব্দটি ব্যবহার করা হয় না। সিনট্যাক্স নিম্নরূপ:

for (type itVar: array)
{
    Block of operators;
}
যেখানে টাইপ হল পুনরাবৃত্তিমূলক ভেরিয়েবলের ধরন (অ্যারের ডেটা টাইপের মতো), ItVar হল এর নাম, অ্যারে হল অ্যারে বা অন্য ডেটা স্ট্রাকচার থাকতে পারে, উদাহরণস্বরূপ, ArrayList। আপনি দেখতে পাচ্ছেন, কোন কাউন্টার নেই, পুনরাবৃত্তি ভেরিয়েবল একটি অ্যারে বা সংগ্রহের উপাদানগুলির উপর পুনরাবৃত্তি করে, এবং সূচক মান নয়। যখন এই ধরনের লুপ কার্যকর করা হয়, পুনরাবৃত্তি ভেরিয়েবলকে ক্রমানুসারে অ্যারে বা সংগ্রহের প্রতিটি উপাদানের মান নির্ধারণ করা হয়, তারপরে স্টেটমেন্টের নির্দিষ্ট ব্লক (বা অপারেটর) কার্যকর করা হয়। মনোযোগ: প্রতিটির জন্য লুপ অ্যারে এবং java.lang.Iterable ইন্টারফেস বাস্তবায়ন করে এমন যেকোনো ক্লাসে প্রয়োগ করা যেতে পারে। অভিবাদন বন্ধুদের সাথে একই সমস্যাটি সমাধান করা যাক, অপরিচিতদের ("অপরিচিত") উপেক্ষা করে তবে এইবার প্রতিটি লুপ ব্যবহার করুন।

public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
আপনি যা শিখেছেন তা শক্তিশালী করার জন্য, আমরা আপনাকে আমাদের জাভা কোর্স থেকে একটি ভিডিও পাঠ দেখার পরামর্শ দিই
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION