ज्या क्रमाने विधाने कार्यान्वित होतात त्या क्रमाचा निर्धारण करते. 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 ला प्रत्येक case नंतर break आवश्यक असते — त्याचे विसरणे fall-through (अंमलबजावणी पुढील case मध्ये सुरू राहते) कारण होते, जो कुप्रसिद्ध बग स्रोत आहे.
// 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 पद्धतीमधून बाहेर पडते, आणि लेबल केलेल्या breaks नेस्टेड लूप्समधून एकाच वेळी बाहेर पडू शकतात.
नियंत्रण प्रवाह हा कोणत्याही प्रोग्राममध्ये तर्क आणि निर्णय व्यक्त करण्याचा मूलभूत यंत्रणा आहे — प्रत्येक नॉन-ट्रिव्हियल पद्धत याचा वापर करते.
निर्माणांचे आणि त्यांच्या सूक्ष्मता समजणे आवश्यक आहे: switch fall-through गोचा (आणि अधिक सुरक्षित आधुनिक switch expression), while आणि do-while मधील फरक (किमान एकदा चलवा), संग्रह पुनरावृत्तीसाठी स्वच्छ for-each, आणि शाखा विधाने (नेस्टेड लूप्सासाठी लेबल केलेल्या breaks समावेश).
यांचा प्रभुत्व मिळवणे — आणि आधुनिक, कमी त्रुटी-प्रवण फॉर्म्स (switch expressions, for-each) प्राधान्य देणे — योग्य, वाचनीय Java लॉजिक लिहिणे आणि सामान्य नियंत्रण-प्रवाह बग्स टाळण्यासाठी मूलभूत आहे.