حالت کوتاه if...else (Short Hand If...Else)
اینجا «حالت کوتاه if...else» را می بینیم. به آن «اپراتور سه تایی (Ternary)» می گویند. چون سه قسمت دارد. این حالت، if...else ساده را در یک خط می نویسد. مثل انتخاب سریع بین دو پیام.
حالت کوتاه if...else با اپراتور سه تایی
ساختار کلی این است. «شرط (Condition)» یعنی پرسش بله/خیر که true یا false می دهد.
variable = (condition) ? expressionTrue : expressionFalse;
مقایسه با if...else معمولی
اول نسخه معمولی را ببین. سپس همان کار را کوتاه می کنیم.
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
نوشتن کوتاه با ?:
همان منطق، اما یک خطی و تمیز. نتیجه در متغیر (Variable) ذخیره می شود.
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);
چاپ مستقیم بدون متغیر
گاهی نیاز به متغیر نداریم. می توانیم مستقیم چاپ کنیم.
int time = 20;
System.out.println((time < 18) ? "Good day." : "Good evening.");
حالت تو در تو (Nested) اختیاری
می شود چند حالت داشت. اما خوانایی سخت تر می شود. برای سه حالت ساده اوکی است.
int time = 22;
String message = (time < 12) ? "Good morning."
: (time < 18) ? "Good afternoon."
: "Good evening.";
System.out.println(message);
نکته: اپراتور سه تایی برای انتخاب های کوتاه عالی است. اما برای منطق طولانی، شرط ها If...Else (If...Else) خواناتر است. همچنین else if را ببین.
لینک های بیشتر
- حالت کوتاه if...else؛ مرور سریع همین تکنیک.
- else if؛ چند شرط پشت سرهم.
گام های عملی
- یک شرط ساده بنویس، مثل
score >= 18. - دو پیام آماده کن؛ یکی برای درست، یکی برای نادرست.
- الگو را بساز:
(شرط) ? پیام_درست : پیام_نادرست.
جمع بندی سریع
- سه تایی یعنی شرط، نتیجه درست، نتیجه نادرست.
- برای تصمیم های کوتاه عالی است.
- زیادی تو در تو نکن.
- برای منطق پیچیده، if...else بهتر است.