Java For..Loop
يتم استخدام for loop عندما تعرف بالضبط عدد المرات التي تريد فيها تكرار كتلة من التعليمات البرمجية.
هناك ثلاثة أنواع من for loops:
- Simple For Loop
- For-each Loop
- Labeled Loop
Java Simple For Loop
نستخدم عبارة for loop عندما نعرف بالضبط عدد المرات التي تريد فيها التكرار + يمكننا تهيئة المتغير ، والتحقق من الشرط وقيمة الزيادة أو النقصان.
بناء جملة for loop كالتالى:
for(initialization;condition;incr/decr){
// Statement or code to be executed
}
💡 يتكون الـ for loop من أربعة أجزاء:
- التهيئة Initialization: هو الشرط الأول الذي يتم تنفيذه مرة واحدة عند بدء الحلقة + يمكننا تهيئة المتغير ، أو يمكننا استخدام متغير تمت تهيئته بالفعل (شرط اختياري).
- الحالة Condition: هو الشرط الثاني الذي يتم تنفيذه في كل مرة لاختبار حالة الحلقة، يستمر التنفيذ حتى يكون الشرط false + يجب أن تُرجع القيمة المنطقية إما true أو false، (شرط اختياري).
- العبارة Statement: يتم تنفيذ بيان الحلقة في كل مرة حتى يصبح الشرط الثاني false.
- زيادة أو إنقاص Increment/Decrement: زيادة أو إنقاص قيمة المتغير. إنه (شرط اختياري).
مثال للتوضيح:
public class MainClass {
public static void main(String[] args) {
for(int z = 1;z < 5; z++){
System.out.println("Value is: "+ z);
}
}
}
outputs:
Value is: 1
Value is: 2
Value is: 3
Value is: 4
Java Nested For Loop
إذا كان لدينا for loop داخل loop أخرى ، فإنها تُعرف بالحلقة المُتداخلة + يتم تنفيذ الحلقة الداخلية بالكامل عند تنفيذ الحلقة الخارجية.
مثال للتوضيح:
public class MainClass {
public static void main(String[] args) {
for(int z = 1;z < 3; z++){ // Start z loop
for(int i = 1;i < 5; i++){ // Start i loop
System.out.println("Value is: "+ i);
} // End i loop
} // End z loop
}
}
outputs:
Value is: 1
Value is: 2
Value is: 3
Value is: 4
Value is: 1
Value is: 2
Value is: 3
Value is: 4
Java for-each Loop
تُستخدم الحلقة for-each لاجتياز المصفوفة array أو التجميع collection في java + إنها أسهل في الاستخدام وبسيطة لأننا لا نحتاج إلى زيادة القيمة واستخدام كود أقل.
تعمل على أساس العناصر وليس الـ index، تقوم بإرجاع العنصر واحدًا تلو الآخر في المتغير المحدد.
بناء جملة for-each كالتالى:
for (type Variable : arrayName) {
// Code to be executed
}
مثال للتوضيح:
public class MainClass {
public static void main(String[] args) {
// Declaring an array
int[] arr = {10, 20, 30, 40, 50};
// Print numbers is array using for-each loop
for(int i : arr){
System.out.println("Number is: " + i);
}
}
}
outputs:
Number is: 10
Number is: 20
Number is: 30
Number is: 40
Number is: 50
Java Labeled For Loop
يمكن أن يكون لدينا اسم لكل حلقة، للقيام بذلك نستخدم label قبل حلقة for.
من المفيد إذا لدينا حلقات متداخلة حتى نتمكن من الـ break والـ continue المحددة للحلقة.
بناء جملة labeled for loop كالتالى:
labelname:
for(initialization;condition;incr/decr){
// Code to be executed
}
مثال للتوضيح:
public class MainClass {
public static void main(String[] args) {
// Using Label for outer and for loop
first:
for(int i=1; i<=4; i++){
second:
for(int x=1;x<=4;x++){
if(i==3 && x==3){
break first;
}
System.out.println(i + " " + x);
}
}
}
}
outputs:
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
💡 إذا إستخدمت break second، فسوف توقف الحلقة الداخلية فقط وهو السلوك الافتراضي لأي حلقة.
💡 لا تقلق سنتكلم عن الـ break و continue بالتفصيل فى الفصل القادم.
Java Infinitive For Loop
إذا كنت تستخدم فاصلة منقوطة ; ; في الحلقة for ، ستكون infinitive for loop.
بناء جملة infinitive for loop كالتالى:
for(;;){
// Code to be executed
}
مثال للتوضيح:
public class MainClass {
public static void main(String[] args) {
// Not using condition in for loop
for(;;){
System.out.println("This infinitive loop");
}
}
}
💡 ستظل الـ infinitive loop السابقة فى العمل حتى تضغط على ctrl + c لتوقف عمل البرنامج.
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!