يحدد الترتيب الذي يتم تنفيذ الجمل به. يوفر Java الشروط (, )، والحلقات (, , )، وجمل التفريع (, , ) — بالإضافة إلى التحسينات الحديثة مثل switch expressions.
ifswitchforwhiledo-whilebreakcontinuereturnif (score >= 90) {
grade = "A";
} else if (score >= 80) {
grade = "B";
} else {
grade = "F";
}
// ternary — concise if/else for a value
String status = (age >= 18) ? "adult" : "minor";
switch (day) {
case 1: name = "Mon"; break; // ⚠️ break needed — else it FALLS THROUGH
case 2: name = "Tue"; break;
default: name = "Unknown";
}
تتطلب switch الكلاسيكية break بعد كل حالة — نسيان ذلك يسبب fall-through (يستمر التنفيذ في الحالة التالية)، وهو مصدر شهير للأخطاء.
// arrow syntax: no fall-through, returns a value, more concise
String name = switch (day) {
case 1 -> "Mon";
case 2 -> "Tue";
case 6, 7 -> "Weekend"; // multiple labels
default -> "Unknown";
};
تلغي switch expression الحديثة fall-through، يمكنها إرجاع قيمة، وهي أنظف — مفضلة في الأكواد الجديدة.
// for — known iteration count
for (int i = 0; i < 10; i++) { ... }
// enhanced for-each — iterate a collection/array
for (String item : items) { ... }
// while — condition checked BEFORE each iteration
while (condition) { ... }
// do-while — body runs at least ONCE (condition checked after)
do { ... } while (condition);
for (int i = 0; i < 10; i++) {
if (i == 5) break; // exit the loop entirely
if (i % 2 == 0) continue; // skip to the next iteration
}
return result; // exit the method
// labeled break — exit nested loops
outer:
for (...) {
for (...) {
if (found) break outer; // breaks BOTH loops
}
}
break يخرج من حلقة، continue يقفز إلى التكرار التالي، return يخرج من الدالة، والفواصل المسماة يمكنها الخروج من الحلقات المتداخلة في آن واحد.
التحكم في التدفق هو الآلية الأساسية للتعبير عن المنطق والقرارات في أي برنامج — كل دالة غير تافهة تستخدمه.
فهم هذه الهياكل والدقائق الخاصة بها ضروري: gotcha switch fall-through (و switch expression الأأمن الحديث)، الفرق بين while و do-while (التشغيل مرة واحدة على الأقل)، for-each للتكرار النظيف على المجموعات، وجمل التفريع (بما فيها الفواصل المسماة للحلقات المتداخلة).
إتقان هذه — والتفضيل للأشكال الحديثة والأقل عرضة للأخطاء (switch expressions, for-each) — أمر أساسي لكتابة منطق Java صحيح وسهل القراءة وتجنب أخطاء التحكم في التدفق الشائعة.