JavaRush /جاوا بلاگ /Random-UR /جاوا میں ہر ایک لوپ کے لیے

جاوا میں ہر ایک لوپ کے لیے

گروپ میں شائع ہوا۔

جاوا میں foreach کیا ہے؟

for-each ایک قسم کی for loop ہے جو اس وقت استعمال ہوتی ہے جب آپ کو کسی صف یا مجموعہ کے تمام عناصر پر کارروائی کرنے کی ضرورت ہوتی ہے۔ "ہر ایک کے لیے" کا انگریزی سے ترجمہ "سب کے لیے" کیا گیا ہے۔ دراصل، اس چکر میں فقرہ foreach استعمال نہیں ہوتا۔ اس کی ترکیب کچھ یوں ہے:
for (type itVar : array)
{
    Блок операторов;
}
تکراری متغیر کی قسم کہاں typeہے (سرنی میں ڈیٹا کی قسم کی طرح!)، itVarاس کا نام ہے، arrayسرنی ہے (وہاں ایک اور ڈیٹا ڈھانچہ بھی ہوسکتا ہے، کسی قسم کا مجموعہ، مثال کے طور پر ArrayList)، یعنی آبجیکٹ جس پر لوپ پر عمل کیا جاتا ہے۔ جیسا کہ آپ دیکھ سکتے ہیں، اس ڈیزائن میں کاؤنٹر استعمال نہیں کیا گیا ہے؛ تکرار متغیر کسی صف یا مجموعہ کے عناصر پر اعادہ کرتا ہے، نہ کہ اشاریہ کی قدروں پر۔ اس طرح کے لوپ پر عمل کرتے وقت، تکرار متغیر کو ترتیب سے صف یا مجموعہ کے ہر عنصر کی قدر تفویض کی جاتی ہے، جس کے بعد بیانات کے مخصوص بلاک (یا بیان) کو عمل میں لایا جاتا ہے۔

for-each لوپ کے علاوہ، جاوا میں forEach() طریقہ بھی ہے۔ آپ اس کے بارے میں پڑھ سکتے ہیں، مثال کے طور پر، مضمون میں " سائیکل لکھنا بند کرو!" جاوا 8 میں کلیکشنز کے ساتھ کام کرنے کے ٹاپ 10 بہترین طریقے

توجہ:ہر ایک کے لیے لوپ کو arrays اور کسی بھی کلاسز پر لاگو کیا جا سکتا ہے جو java.lang.Iterable انٹرفیس کو نافذ کرتی ہے۔ مندرجہ بالا کوڈ کے برابر لوپ کے لیے درج ذیل ہو گا :
for (int i=0; i<array.length; i++)
{

    Блок операторов;
}

جاوا foreach مثال

آئیے طلباء کے درجات کی ایک صف بنائیں۔ پھر، ہر ایک کے لیے استعمال کرتے ہوئے، ہم تمام اسکور پرنٹ کرتے ہیں، اوسط اسکور ظاہر کرتے ہیں، اور زیادہ سے زیادہ اسکور تلاش کرتے ہیں۔
public class ForEachTest {

//method that prints all grades
public static void printAllGrades(int[] grades) {
        System.out.print("|");
        for (int num : grades) {

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

//method that displays the average score

public static double midGrade(int[] numbers) {
        int grade = 0;

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

    }
//method in which the best (maximum) score is calculated
    public static int bestGrade(int[] numbers) {
        int maxGrade = numbers[0];

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

public static void main(String[] args) {

//array of ratings
int[] grades = {5, 10, 7, 8, 9, 9, 10, 12};


  int highest_marks = bestGrade(grades);
        System.out.print("All the grades: ");
        printAllGrades(grades);
        System.out.println("The highest grade is " + highest_marks);
        System.out.println("The average grade is " + midGrade(grades));
    }

}
پروگرام آؤٹ پٹ:
All the grades: |5|10|7|8|9|9|10|12|
The highest grade is 12
The average grade is 8.75
اب دیکھتے ہیں کہ تمام سکور پرنٹ کرنے کا طریقہ کیسا نظر آئے گا، جو ریگولر فار لوپ کا استعمال کرتے ہوئے کیا گیا ہے:
public static void printAllGrades(int[] grades) {
        System.out.print("|");
        for (int i = 0; i < grades.length; i++) {

            System.out.print(grades[i] + "|");
        }
        System.out.println();
    }
اگر ہم اس طریقہ کو طریقہ سے کہتے ہیں mainتو ہمیں نتیجہ ملے گا:
All the grades: |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);
        }

ہر ایک کے لیے لوپ کی حدود

for-each کی کمپیکٹ شکل کو for کے مقابلے میں زیادہ پڑھنے کے قابل سمجھا جاتا ہے، اور جہاں یہ کیا جا سکتا ہے وہاں for-e کا استعمال کرنا اچھا عمل سمجھا جاتا ہے۔ تاہم، for-each باقاعدہ کے مقابلے میں کم ورسٹائل تعمیر ہے۔ یہاں کچھ آسان صورتیں ہیں جہاں for-each کا استعمال بالکل کام نہیں کرے گا یا کام کرے گا، لیکن مشکل کے ساتھ۔
  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. اگر آپ کسی صف میں کسی عنصر کی تلاش کر رہے ہیں اور آپ جس عنصر کی تلاش کر رہے ہیں اسے واپس کرنے (یا آگے بڑھنے) کی ضرورت ہے، تو بہتر ہے کہ ریگولر فار لوپ کا استعمال کریں۔

جاوا رش کے طالب علم کے ذریعہ تیار کردہ ہر ایک کے بارے میں مفید ویڈیو

JavaRush کورس میں لوپس

JavaRush میں، ہم Java Syntax quest کے لیول 4 پر عملی طور پر loops کا استعمال شروع کرتے ہیں ۔ ان کے لیے وقف کردہ کئی لیکچرز کے ساتھ ساتھ ان کے ساتھ کام کرنے کی صلاحیتوں کو تقویت دینے کے لیے مختلف سطحوں کے بہت سے کام ہیں۔ عام طور پر، آپ ان سے بچ نہیں سکتے؛ لوپس پروگرامنگ میں سب سے اہم تعمیرات میں سے ایک ہیں۔

for-each اور loops کے بارے میں مزید:

  1. کے لیے اور ہر ایک لوپ کے لیے: یہ کہانی کہ میں نے کس طرح دہرایا، اعادہ کیا، لیکن اعادہ نہیں کیا - جاوا میں ہر ایک لوپ کے لیے اور کے لیے ایک اچھا تفصیلی مضمون۔ ایک تربیت یافتہ قاری کے لیے ڈیزائن کیا گیا ہے (تقریباً JavaRush لیول 10 اور اس سے اوپر)۔
  2. جبکہ بیان ۔ مضمون سادہ ترین سائیکل کے لیے وقف ہے while، جس کے ساتھ آپ JavaRush میں سائیکلوں سے واقف ہونا شروع کر دیتے ہیں۔
  3. سائیکل لکھنا بند کرو! جاوا 8 میں کلیکشن کے ساتھ کام کرنے کے لیے سرفہرست 10 بہترین طریقے ۔ اس مضمون سے، JavaRush کا ایک طالب علم جس نے پہلے ہی آدھا کورس یا اس سے زیادہ مکمل کر لیا ہے، کلیکشن کے ساتھ کام کرنے کے بارے میں بہت کچھ سیکھے گا۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION