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

জাভাতে প্রতিটি লুপের জন্য

এলোমেলো দলে প্রকাশিত

প্রতিটি লুপ জন্য কি?

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

for (type itVar : array) 
{ 
    // Operations
}
যেখানে টাইপ হল ইটারেটর ভেরিয়েবলের ধরন (যা অ্যারের উপাদানগুলির ডেটাটাইপের সাথে মেলে!), itVar হল এর নাম এবং অ্যারে হল একটি অ্যারে (অন্যান্য ডেটা স্ট্রাকচারগুলিও অনুমোদিত, উদাহরণস্বরূপ, কিছু ধরণের সংগ্রহ, যেমন ArrayList) ), অর্থাৎ যে বস্তুর উপর লুপ চালানো হয়। আপনি দেখতে পাচ্ছেন, এই কনস্ট্রাক্ট একটি কাউন্টার ব্যবহার করে না: পুনরাবৃত্তিকারী ভেরিয়েবলটি কেবল অ্যারে বা সংগ্রহের উপাদানগুলির উপর পুনরাবৃত্তি করে। যখন এই ধরনের একটি লুপ কার্যকর করা হয়, ইটারেটর ভেরিয়েবলকে পর্যায়ক্রমে অ্যারে বা সংগ্রহের প্রতিটি উপাদানের মান নির্ধারণ করা হয়, তারপরে স্টেটমেন্টের নির্দিষ্ট ব্লক (বা বিবৃতি) কার্যকর করা হয়।

for-each লুপ ছাড়াও, Java এর একটি forEach() পদ্ধতিও রয়েছে। আপনি এটি সম্পর্কে "লুপ লেখা বন্ধ করুন!" শিরোনামের নিবন্ধে পড়তে পারেন। জাভা 8-এ সংগ্রহের সাথে কাজ করার জন্য সেরা 10টি সেরা অনুশীলন

বিঃদ্রঃ:অ্যারে এবং java.lang.Iterable ইন্টারফেস বাস্তবায়ন করে এমন যেকোনো ক্লাসে প্রতিটি লুপ প্রয়োগ করা যেতে পারে। লুপের জন্য নিম্নলিখিতটি উপরের কোডের সমতুল্য হবে:

for (int i=0; i < array.length; i++) 
{ 
    
    // Statements 
}

প্রতিটি লুপের জন্য একটি উদাহরণ

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

public class ForEachTest {
    
// A method that prints all scores     
public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int num : scores) {

            System.out.print(num + "|");
        }
        System.out.println();
    }

// A method that displays the average score 
    
public static double getAverageScore(int[] numbers) {
        int totalScore = 0;

        for (int num : numbers) {
            totalScore = num + totalScore;
        }
        return ((double) totalScore / numbers.length);

    }
// A method that determines the best (maximum) score 
    public static int getBestScore(int[] numbers) {
        int maxScore = numbers[0];

        for (int num : numbers) {
            if (num > maxScore) {
                maxScore = num;
            }
        }
        return maxScore;
    }

public static void main(String[] args) {
      
// Array of scores 
int[] scores = {5, 10, 7, 8, 9, 9, 10, 12};

        
  int bestScore = getBestScore(scores);
        System.out.print("All the scores: ");
        printAllScores(scores);
        System.out.println("The highest score is " + bestScore);
        System.out.println("The average score is " + getAverageScore(scores));
    }

}
প্রোগ্রাম আউটপুট:

All the scores: |5|10|7|8|9|9|10|12|
The highest score is 12
The average score is 8.75
এখন, আসুন দেখি সমস্ত স্কোর প্রিন্ট করার পদ্ধতি কেমন হবে যদি আমরা লুপের জন্য একটি সাধারণ ব্যবহার করি:

public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int i = 0; i < scores.length; i++) {

            System.out.print(scores[i] + "|");
        }
        System.out.println();
    }
যদি আমরা এই পদ্ধতিটিকে মূল পদ্ধতি থেকে কল করি, তাহলে আমরা এই ফলাফলটি পাই:

All the scores: |5|10|7|8|9|9|10|12|

সংগ্রহ সহ প্রতিটি লুপের জন্য উদাহরণ

আমরা নামের একটি সংগ্রহ তৈরি করি এবং পর্দায় সমস্ত নাম প্রদর্শন করি।

List<String> names = new ArrayList<>();
        names.add("Snoopy");
        names.add("Charlie");
        names.add("Linus");
        names.add("Shroeder");
        names.add("Woodstock");

        for(String name : names){
            System.out.println(name);
        }

প্রতিটি লুপের জন্য সীমাবদ্ধতা

ফর -ইচ লুপের কমপ্যাক্ট ফর্মটি লুপের চেয়ে পড়া সহজ বলে মনে করা হয় এবং যেখানেই সম্ভব সেখানে প্রতিটি লুপের জন্য ব্যবহার করা সর্বোত্তম অনুশীলন হিসাবে বিবেচিত হয়। যাইহোক, একটি ফর-ইচ লুপ একটি সাধারণ ফর লুপের চেয়ে কম সর্বজনীন গঠন । এখানে কিছু সাধারণ কেস রয়েছে যেখানে প্রতিটি লুপ হয় একেবারেই কাজ করবে না বা কাজ করবে, তবে শুধুমাত্র অসুবিধার সাথে।
  1. আপনি চাইলে শেষ থেকে শুরু পর্যন্ত একটি লুপের মাধ্যমে চালাতে পারেন। অর্থাৎ, নিম্নলিখিত কোডের সরাসরি অ্যানালগ-এর জন্য কোনো লুপ নেই :

    
    for (int i= array.length-1; i>0; i--) 
    {
          System.out.println(array[i]);
    }
    
  2. আপনি একটি অ্যারেতে পরিবর্তন করতে চাইলে for-each উপযুক্ত নয়। উদাহরণস্বরূপ, আপনি একটি অ্যারের উপাদানগুলির অবস্থান পরিবর্তন না করে সাজাতে পারবেন না। উপরন্তু, নিম্নলিখিত কোডে, শুধুমাত্র পুনরাবৃত্তিকারী পরিবর্তনশীল পরিবর্তন হবে, অ্যারের উপাদান নয়:

    
    for (int itVar : array) 
    {
        itVar = itVar++; 
    }
    
  3. আপনি যদি একটি অ্যারেতে একটি উপাদান খুঁজছেন এবং আপনি যে উপাদানটি খুঁজছেন তার সূচীটি ফেরত দিতে হবে (বা পাস করতে হবে), তাহলে লুপের জন্য একটি সাধারণ ব্যবহার করা ভাল

প্রতিটি লুপের জন্য একটি সহায়ক ভিডিও

CodeGym কোর্সে লুপ

CodeGym-এ, আমরা জাভা সিনট্যাক্স কোয়েস্টের লেভেল 4- এ লুপ ব্যবহার করে অনুশীলন শুরু করি । সেই স্তরের বেশ কয়েকটি পাঠ, সেইসাথে বিভিন্ন স্তরের অনেকগুলি কাজ, তাদের সাথে কাজ করার ক্ষেত্রে আপনার দক্ষতাকে শক্তিশালী করার জন্য লুপগুলিতে নিবেদিত। মূলত, আপনি এগুলি থেকে পালাতে পারেন এমন কোনও উপায় নেই — লুপগুলি প্রোগ্রামিংয়ের সবচেয়ে গুরুত্বপূর্ণ নির্মাণগুলির মধ্যে একটি।

প্রতিটি এবং অন্যান্য লুপগুলির জন্য আরও তথ্য৷

  1. সেই সময় বক্তব্য । নিবন্ধটি সবচেয়ে সহজ ধরনের লুপ সম্পর্কে: whileলুপ, যা CodeGym ছাত্রদের কাছে লুপ চালু করতে ব্যবহার করে।
  2. লুপ লেখা বন্ধ করুন! জাভা 8-এ সংগ্রহের সাথে কাজ করার জন্য সেরা 10টি সেরা অনুশীলন । এই নিবন্ধটি CodeGym ছাত্রদের সাহায্য করবে যারা কোর্সের অন্তত অর্ধেক পথ রয়েছে সংগ্রহের সাথে কাজ করার বিষয়ে অনেক আকর্ষণীয় জিনিস শিখতে।
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION