CodeGym /جاوا بلاگ /Random-UR /جاوا فار لوپ
John Squirrels
سطح
San Francisco

جاوا فار لوپ

گروپ میں شائع ہوا۔
ایک بار مارک زکربرگ نے نوٹ کیا کہ کمانڈز کی تکرار میں کمپیوٹر واقعی اچھے ہیں۔ یہ ایک انسان کے لیے آسان نہیں ہے، ہم ایک ہی چیز کو لگاتار کئی بار دہرانے سے تھک جاتے ہیں، لیکن ایک کمپیوٹر اسے لاکھوں اور اربوں بار کرسکتا ہے اور کبھی بور نہیں ہوتا۔ اگر آپ تمام فیس بک صارفین کو مبارکباد بھیجنے کی کوشش کرتے ہیں، تو کوئی انسان ایسا نہیں ہے کہ اس کے لیے کافی دن ہوں۔ تاہم آپ کوڈ کی چند سطریں لکھ کر اس کام کو حل کرنے کے لیے کمپیوٹر بنا سکتے ہیں۔ اس طرح لوپس کام کرتے ہیں۔ انہوں نے ہمیں ایک ہی معمول کے اعمال کو دہرانے کی اجازت نہیں دی۔ جاوا میں سب سے مشہور لوپ نام نہاد ڈیفائنڈ لوپ یا فار لوپ ہے۔

جاوا میں لوپ کے لیے کیسے لکھیں؟ عام طور پر لوپ کے لیے

فار لوپ کچھ بیانات کو ایک خاص تعداد کے لیے انجام دیتا ہے۔ مثال کے طور پر، پچاس بار "مجھے ایسا نہیں ہونا چاہیے، ہو-ہو، ہو" لکھنا یا اپنے تمام دوستوں کو دعوت نامہ بھیجنا اس قسم کے لوپ کے لیے عام کام ہیں۔ for loop کے سب سے عام ورژن کا نحو:
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 (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 loop کو پسند نہیں کرتے، اور جہاں بھی ممکن ہو، for loop استعمال کرنے کی کوشش کریں۔
کے لیے جبکہ

اگر ہمیں تکرار کی تعداد پہلے سے معلوم ہو تو ہم for loop استعمال کرتے ہیں۔

اگر ہمیں تکرار کی صحیح تعداد معلوم نہیں ہے تو ہم جبکہ لوپ استعمال کرتے ہیں۔

ابتدائی، حالت کی جانچ اور کاؤنٹر چینج پہلے سے ہی ایک لوپ کے نحو میں سلائی ہوئی ہے۔

لوپ کے اندر ابتدائی اور حالت کی جانچ۔ آپ بیانات میں کاؤنٹر کا بھی استعمال کر سکتے ہیں۔

لامحدود لوپ برائے:

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

لامحدود لوپ جبکہ:

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

جاوا میں فار لوپ سے باہر نکلنے کا طریقہ

عام طور پر a for loop ایک بہاؤ کی طرح چل رہا ہوتا ہے اور لوپ سے باہر نکلنے کا قدرتی طریقہ یہ ہے کہ جب کوئی حالت غلط قیمت لیتی ہے۔ تاہم کنٹرول کے دو بیانات ہیں جو آپ کو لوپ سے باہر نکلنے کی اجازت دیتے ہیں اس سے پہلے کہ آپ کسی شرط کی غلط قیمت حاصل کر لیں — توڑیں اور جاری رکھیں۔
  • بریک موجودہ لوپ باڈی سے باہر نکلنے دیتا ہے گویا لوپ کی حالت کو غلط قرار دیا گیا ہے۔
  • جاری بیانات پر عمل کیے بغیر اگلے مرحلے پر جانے کے لیے لوپ بناتا ہے (کاؤنٹر کی تکرار)۔
آئیے وقفے اور جاری کا استعمال کرتے ہوئے اگلا مسئلہ حل کریں۔ ہمارے پاس ناموں کی ایک صف ہے اور ہم اجنبیوں کے علاوہ اس صف سے سب کو ہیلو کہتے ہیں۔ لہذا اگر ہم اپنے لوپ کے دوران کسی "اجنبی" تار سے ملتے ہیں تو ہم اس سے باہر نکل جاتے ہیں (چلے جاتے ہیں اور کسی اور کو ہیلو کہنا بند کرتے ہیں)۔
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۔ جیسا کہ آپ دیکھ سکتے ہیں، کوئی کاؤنٹر نہیں ہے، تکرار متغیر کسی صف یا مجموعہ کے عناصر پر اعادہ کرتا ہے، نہ کہ اشاریہ کی قدروں پر۔ جب اس طرح کے لوپ کو عمل میں لایا جاتا ہے تو، تکرار متغیر کو ترتیب وار طور پر صف یا مجموعہ کے ہر عنصر کی قدر تفویض کی جاتی ہے، جس کے بعد بیانات کے مخصوص بلاک (یا آپریٹر) کو عمل میں لایا جاتا ہے۔ دھیان دیں: ہر ایک کے لیے لوپ کو arrays اور کسی بھی کلاسز پر لاگو کیا جا سکتا ہے جو 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