اسٹیٹمنٹس کی execution کی ترتیب کا تعین کرتا ہے۔ Java شرائط (, )، loops (, , )، اور branching statements (, , ) فراہم کرتا ہے — اور جدید بہتریوں جیسے 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 ہوتا ہے (execution اگلے case میں جاری رہتا ہے)، جو ایک مشہور bug کا ذریعہ ہے۔
// 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 ایک loop سے باہر نکلتا ہے، continue اگلی iteration پر جاتا ہے، return method سے باہر نکلتا ہے، اور labeled breaks بیک وقت nested loops سے باہر نکل سکتے ہیں۔
Control flow کسی بھی پروگرام میں منطق اور فیصلوں کو ظاہر کرنے کا بنیادی میکانزم ہے — ہر غیر معمولی method اسے استعمال کرتا ہے۔
ان constructs اور ان کی subtleties کو سمجھنا ضروری ہے: switch fall-through gotcha (اور زیادہ محفوظ جدید switch expression)، while اور do-while کے درمیان فرق (کم از کم ایک بار چلیں)، صاف collection iteration کے لیے for-each، اور branching statements (nested loops کے لیے labeled breaks سمیت)۔
ان میں مہارت حاصل کرنا — اور جدید، کم غلطی کے قابل شکل کو ترجیح دینا (switch expressions، for-each) — صحیح، قابل فہم Java logic لکھنے اور عام control-flow bugs سے بچنے کے لیے بنیادی ہے۔
تفصیلی جوابات کے ساتھ IT انٹرویو سوالات کی ایک لائبریری — جونیئر سے سینئر تک۔
عطیہ دیں