الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الفرق بين break و continue

بدأه رااحيل في 8 يونيو 2010 · 36 رد · 11,211 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الفرق بين Break و continue

هل تعرف ما هو الفرق بينهم؟؟

هيا بنا نستكشفه سويا

اولا ::::

لاحظ ال break تستخدم بداخل جميع جمل الدوران

while,for and do.....while بجانب جملة switch

نحن نستخدم break و continue بداخل ال loop عندما نريد ان يخرج الloop عن مساره المعتاد فكيف لنا ان نفعل ذلك

دعنى اخبرك break تستخدم للخروج نهائيا من جملة الدوران loop اثناء مثلا الوصول الى حالة معينه

كيف ذلك؟؟؟

دعنا نقوم بعمل loop و عندما يصل العد بداخل ال loop لى 4 نحرج من الloop

public class Break{

	public static void main( String args[] ){



		for ( int i = 1; i < 6; i++ ){

 			if ( i == 4 ) 

				break;

 			System.out.println( i );
 		} 

 	} 
 }

لاحظ البرنامج سيقوم باخراج رقم فى كل سطر مع ملاحظ الترتيب التصاعدى

دعنا ندخل بداخل الكود و نقوم بعمل جولة بداخلة

عندما يبدأ الloop بالعد تكون قيمة المتغير i تساوى 0

نجد بداخل اللوب جملة شرطية يقوم البرنامج بعمل فحص لها (هل الشرط صحيح ام خاطئ)

عندما يصل التكرار إلى العدد 4 يجد أن الشرط خاطىء

لأننا قلنا أن قيمة المتغير i مساوية للصفر نجد سطر بداخل الloop يقوم بطباعة قيمة المتغير i

و هكذا حتى تكون قيمة المتغير i مساوية ل4 عندئذ يكون الشرط صحيح

و يخرج البرنامج من الـ loop لا حظ أن ميعاد ال loop للإنتهاء لم يأتى بعد أى

لولا هذا الشرط لكان البرنامج أخرج لنا القيمة الرابعة و الخامسة

نأتى الى continue

تستخدم أيضاً بداخل جمل الدوران فقط

و ليس للخروج نهائيا من الـ loop و إنما للخروج من هذة الحالة فى الـ loop أى للخروج من iteration معين

دعنا نرى مثال لذلك

public class Continue{

 	public static void main( String args[] ){

	 for ( int i = 1; i<= 20; i++ ); {

 			if ( count == 13) 
 				continue;

 				System.out.print( i+" welcome" );
 		}

 } 
 }

هذا البرنامج يقوم بطباعة قيمة المتغير i و بجوارها كلمة مرحباً

و عندما تكون قيمة المتغير i مساوية لـ 13 لا ينفذ البرنامج هذا السطر

System.out.print( i+" welcome" );

أي أن البرنامج يخرج من هذة الحالة فقط (i=13)

عندما يصل البرنامج الى كلمة continue يخرج من هذة الحالة و يعيد ال loop من الحالة التالية

و لا تنسى ان البرنامج سيكمل الloop طبيعى جدااا

يعنى سيخرج 14و15 الى 19

لاحظ النتيجة فى المشاركة رقم ثلاثة

و لا تنسى ان تمر على المشاركة رقم6

فقط :wub:

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 11 يونيو 2010 في 18:48 — السبب: إصلاح الأخطاء الإملائية

1
00020309t.gif

1958_1963.gif
#3

في الدوران الاول(باستخدام break) تكون النتيجة كالتالي:

12
3

اما في الدوران الثاني(باستخدام continue) تكون النتيجة كالتالي:

 **1 welcome ** **2 welcome ** **3 welcome ** **4 welcome ** **5 welcome ** **6 welcome ** **7 welcome ** **8 welcome ** **9 welcome ** **10 welcome ** **11 welcome ** **12 welcome ** **14 welcome ** **15 welcome ** **16 welcome ** **17 welcome ** **18 welcome ** **19 welcome ** **20 welcome **

لاحظ عدم وجود

**13 welcome **

#4

شكراااا جداا اخى محمد على الاضافة

00020309t.gif

1958_1963.gif
#5

يمكنك اضافتها الى شرحك اذا اردتي

استخدمي الوسم

[ console ] result here [/ console ]

#6

كنت أتحدث مع أحد أصدقائي ذات مره, فنبهني للأتي:

 for (int i=0; i < 10; i++){
 	for (int j=0; j < 10; j++){
 		if (j == 5) continue;		// سوف تنقلك للفة الداخلية سطر2 و ليس اللفة الخارجية سطر 1
 	}
 }

إذا, لو أردت الإنتقال من اللفة الداخلية للخارجية, أظن أنه يجب عليك أن تستخدم التعبير المُهلك

goto: <lable>

outer:
for (int i=0; i < 10; i++){
inner:
	for (int j=0; j < 10; j++){
		if (j == 5) goto outer;		// لو أنت محتاج أن تخرج للفة الخارجيه
 	}
 }

متميزه دائما أختي,,

حلوه موضوع مبتدئ ... تعالى,

نريد أن نسميها سلسلة "مبتدئ ... تعالي" :lol:

تم تعديل هذه المشاركة بواسطة {هويدي} في 8 يونيو 2010 في 17:56

#7

شكرا اخى هويدى على الاضافة

اقتباس
متميزه دائما أختي,,

حلوه موضوع مبتدئ ... تعالى,

نريد أن نسميها سلسلة "مبتدئ ... تعالي"

ههههههههههههه

شهرين كدة و هتبقى سلسة

متميز...؟تعالى

و طبعا ساعتها مش هلاقى حد يرد على موضوعى :lol: :lol:

00020309t.gif

1958_1963.gif
#8

جزاكى الله خيرا

Software Developer
Mahmoudkelany.com


 

#9

شكرا يا باشمهندسة اسراء علي مجهودك

والي الامام دائما

#10
اقتباس
جزاكى الله خيرا

ولك مثلها

اقتباس
شكرا يا باشمهندسة اسراء علي مجهودك

والي الامام دائما

ربنا يخليك يا اخ احمد

00020309t.gif

1958_1963.gif
#11

أخي هويدي goto في جافا لا تستخدم ولكنها فقط كلمة محجوزة ربما لكي تستخدم في المستقبل.. وحاليا أعتقد ان البرنامج سيصدر خطأ في الترجمة !

من language keywords :

اقتباس
The keywords const and goto are reserved, even though they are not currently used

يمكن استخدام continue label أو break label كبديل لها..

مثال:

http://www.java2s.com/Code/Java/Language-Basics/ContinueWithLabelDemo.htm

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#12

:blush:

لقد تم تداخل بين اللغات عندي, شكرا لك..

#13

شكرا اختى على هذا الشرح

#14

أفكر في عمل سلسلة أسميها سلسلة الأستاذة إسراء للمبتدئين

ما رأيك يا إسراء؟

بالمناسبة الأخطاء الإملائية (وهي كثيرة في الموضوع) قد لا تجعل المبتدئ قادراً على فهم موضوعك

كان لي إضافة صغيرة

يمكننا عمل التالي

		out:{
			break out;
		}

وأعتقد أنه شيء شبيه بـ goto

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 9 يونيو 2010 في 20:32

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#15
اقتباس
بالمناسبة الأخطاء الإملائية (وهي كثيرة في الموضوع) قد لا تجعل المبتدئ قادراً على فهم موضوعك

متأسفة لانى بكتب بسرعة جدااااا

اقتباس
أفكر في عمل سلسلة أسميها سلسلة الأستاذة إسراء للمبتدئين

ما رأيك يا إسراء؟

:lol: :lol:

تم تعديل هذه المشاركة بواسطة اسراء شلبى في 9 يونيو 2010 في 22:19

00020309t.gif

1958_1963.gif
#16

بارك الله فيك أختنا الفاضلة

وجزاك كل خير

اصبر على مـر الجفـا من معلم ... فإن رسوب العلم في نفراته

ومن لم يذق مر التعلم ساعــة ... تجرع ذل الجهل طول حياته

ومن فاته التعليم وقت شبابــه ... فكبر عليه أربعا لوفاتــه

وذات الفتى والله بالعلم والتقى ... إذا لم يكونا لا اعتبار لذاته

#17
اقتباس
شكرا اختى على هذا الشرح
اقتباس
بارك الله فيك أختنا الفاضلة

وجزاك كل خير

و لكم مثلها :wub:

00020309t.gif

1958_1963.gif
#18

قمت بإصلاح الأخطاء الإملائية

وأضفت الموضوع للمواضيع المميزة

تحت سلسلة الأستاذة إسراء للمبتدئين

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#19
اقتباس
قمت بإصلاح الأخطاء الإملائية

:wub:

اقتباس
تحت سلسلة الأستاذة إسراء للمبتدئين

و لا تنسى التأكيد على كلمة استاذة

:lol:

00020309t.gif

1958_1963.gif
#20

يالهووووى

دة الكلام بجد

61232339.png

افتكرتك بتهزر يا اخ علاء :lol:

00020309t.gif

1958_1963.gif
#21

شدي حيلك عايزين نسمع عن سلسلة الأستاذة إسراء للمحترفين

بنستنى حمزاوي باشا علشان ينافسك:wink: :wink:

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#22

ان شاء الله

بس حمزاوى فى طريق محترفين

انا فى طريق مبتدئين

و كمان انا هنقل على منتدى السى بلس بلس

مين قال انى هقعد هنا على طووووول

سيبونى اعيش حياتى بقى :lol:

00020309t.gif

1958_1963.gif
#23

سي ++ مين يا حجة

دا أنا هاروح أهد القسم على الي فيه

وأجيبك أسيرة مكبلة القدمين على قسم الجافا :unsure:

هو الواحد بيلاقي أستاذة كل اد ايه؟ :cool:

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#24
اقتباس
سي ++ مين يا حجة

دا أنا هاروح أهد القسم على الي فيه

وأجيبك أسيرة مكبلة القدمين على قسم الجافا

هو الواحد بيلاقي أستاذة كل اد ايه؟

ههههههههههههههه

شكلى هعمل فيلم معبودة الجماهير قريب

و بعدين كلمة استاذة بقت تتقال كتيير :wink:

و انا هاخد مقلب فى نفسى واصدق

الله يمسيه بالخير الاخ صنعانى.... :happy:

00020309t.gif

1958_1963.gif
#25
علاء الصالحي كتب:

شدي حيلك عايزين نسمع عن سلسلة الأستاذة إسراء للمحترفين

بنستنى حمزاوي باشا علشان ينافسك:wink: :wink:

تحياتي

ربنا يخليك يا أخ علاء

بس انا عندي امتحانات الفتره دي

واقدم اسفي لأني احتمال أكيد اوقف عضويتي

ياريت تقبل اسفي الشديد

واحترامي الأشد لك وللاخوه بالمنتدي

وياريت بلاش تقييم بالسلب علشان انا تعبان لوحدي

تم تعديل هذه المشاركة بواسطة Eng.Hamzawy في 11 يونيو 2010 في 21:15

Software Developer
Mahmoudkelany.com


 

مواضيع مشابهة