لمحة جافاوية 24: مالا تعرفونه عن for

جرانجر في فهرنهايت 451 للمؤلف راي برادوري
“كان جدي يقول إن كل إنسان لا بد أن يترك شيئاً
وإلا لن يذهب إلى الجنة يترك طفلاً ، جداراً ، نبتة ، قصيدة ، كتاباً
شيئاً لمسته يداك … وكلما نظر الناس للجدار أو النبتة
وجدوك فيها لا يهم أن تكون بارعاً المهم أن تغير شيئاً عما كان عليه قبل أن تمسه”
أعجبتني هذه المقولة
ليس بالشرط أن تعجبني كلية
لكنها تطرقت إلى نقطة جميلة
لابد أن تتغير الدنيا بسبب وجودك فيها
هناك الكثير من الناس يمرون على الدنيا
ويخرجون منها كأنهم لم يمروا عليها
اعمل بجد لكي لا تكون من الغثاء
على العموم دعوكم من هذا الكلام وتعالوا نتحدث عن موضوعنا

كيف اكتب حلقة تكرار باستخدام for ؟

الصيغة العامة لـ for كالتالي

for(initialization;condition;operation){
}

كل شيء في for اختياري ماعدا كلمة for والفاصلتين المنقوطتين و القوسين ()
initialization تنفذ مرة واحدة عند بداية for
operation تنفذ كل مرة بعد فحص الشرط
condition يجب أن يكون تعبير ناتجه boolean
تستطيع كتابة أي شيء في الجزيئيتين initialization operation
بما في ذلك جملة الطباعة (جملة واحدة فقط)
يستثنى من ذلك تعريف المتغيرات في operation
عند حذف الجزئية condition فإن التكرار سيستمر إلى مالانهاية
ويسمى حينها infinite loop
في حالة وجود أي من القوسين }{ فإنه يجب تواجد الآخر
في حالة وجود هذه الأقواس
فإن التكرار سيكون على الجمل المتواجدة بين القوسين
في حالة عدم وجود هذه الأقواس
فإن التكرار سيكون على جملة واحدة
وهي التي تلي التكرار مباشرة
مثال

for(initialization;condition;operation)
something;

تستطيع إيقاف الحلقة التكرارية سواءاً كان لها شرط أم حذف شرطها
باستخدام الكلمة المفتاحية break
تستطيع إيقاف اللفة الحالية للتكرار
باستخدام الكلمة المفتاحية continue
مثال 1

for(initialization;condition;operation){
	if(something){
		break;
	}
	doAnthoerthing;
}
doAnthoerthing2;

مثال 2

for(initialization;condition;operation){
	if(something){
		continue;
	}
	doAnthoerthing;
}

في مثال 1 عند تحقق الشرط سيتوقف التكرار نهائياً
بمعنى أنه سينتقل إلى doAnthoerthing2
في مثال 2 عند تحقق الشرط لن يكمل اللفة
بمعنى أنه سيتجاهل doAnthoerthing
نلاحظ أنه في حال وجود أكثر من حلقة متداخلة
فإنه سيتم تنفيذ الإيقاف أو التجاهل على الحلقة الأقرب
مثال

for(initialization1;condition1;operation1){
	for(initialization2;condition2;operation2){
		break;
	}
	doAnthoerthing;
}

في المثال السابق نلاحظ أنه سيخرج من التكرار 2
ويكمل في التكرار 1 بشكل عادي
إذا أردنا أن نجعله يخرج من التكرار 1
نستخدم العناوين lables لذلك
مثال

for1:for(initialization1;condition1;operation1){
	for(initialization2;condition2;operation2){
		break for1;
	}
	doAnthoerthing;
}

لن أطيل عليكم أي استفسارات أنا جاهز
نسيت أن أخبركم بأن الموضوع للمبتدئين فقط
عادة قبيحة فعلاً

تحياتي

Tags: , , , , , ,

2 Responses to “لمحة جافاوية 24: مالا تعرفونه عن for”

  1. amine قال:

    machkour akhi :) dayman mobdi3 hhhh akhok amine mini almaghrib
    java developper

  2. admin قال:

    العفو أخي أمين
    حفظك الله
    وأهلاً بك وبكل أهل المغرب

    تحياتي

Leave a Reply