دستور if-else: انتخاب بین دو مسیر
ساختار if-else چگونه کار میکند؟
فرض کنید صبح از خواب بیدار میشوید و به بیرون از پنجره نگاه میکنید. اگر آسمان ابری باشد، چتر برمیدارید و اگر آفتابی باشد، چتر را در خانه میگذارید. این دقیقاً همان کاری است که دستور if-else در برنامهنویسی انجام میدهد. برنامه یک شرط را بررسی میکند؛ اگر آن شرط درست باشد، یک دستور (یا چند دستور) را اجرا میکند و در غیر این صورت (یعنی اگر شرط غلط باشد)، دستور دیگری را اجرا میکند.
شکل کلی این دستور به این صورت است: ابتدا کلمهی if را مینویسیم، سپس شرط را در پرانتز قرار میدهیم و بعد یک بلوک از دستورات برای حالت درست بودن شرط مینویسیم. سپس کلمهی else را میآوریم و بلوک دیگری برای حالت غلط بودن شرط مینویسیم. به این ترتیب، برنامه همیشه یکی از این دو مسیر را انتخاب میکند و هرگز هر دو را با هم اجرا نمیکند.
| نوع ساختار شرطی | توضیح | مثال کاربردی |
|---|---|---|
| if تنها | فقط در صورت درست بودن شرط، کاری انجام میشود | اگر نمره قبولی بود، پیام تبریک چاپ کن |
| if-else | در صورت درستی شرط یک کار، و در صورت غلطی، کار دیگر | اگر سن بالای 18 بود، اجازه ورود بده، در غیر این صورت منع کن |
| if-else if-else | برای چندین شرط مختلف، هرکدام مسیر جداگانه | اگر نمره بالای 17 بود عالی، اگر بالای 14 بود خوب، وگرنه نیاز به تلاش بیشتر |
کاربردهای جذاب if-else در زندگی روزمره
شاید باور نکنید، اما دستور if-else تقریباً در همهی برنامههایی که استفاده میکنید، وجود دارد. وقتی در یک بازی رایانهای شخصیت شما جان خود را از دست میدهد، برنامه با if-else بررسی میکند که اگر مقدار جان به صفر رسیده باشد، بازی را تمام کند و پیام «باختید» را نشان دهد. در غیر این صورت، بازی را ادامه دهد. یا در یک برنامهی مدیریت رمز عبور، اگر رمز عبور وارد شده با رمز ذخیرهشده برابر بود، اجازهی ورود داده میشود و در غیر این صورت، پیام خطا نشان داده میشود.
حتی در ماشینحسابهای ساده هم if-else نقش دارد. وقتی شما علامت جمع را میزنید، برنامه با if-else تشخیص میدهد که کدام عملگر انتخاب شده و سپس عملیات مربوطه را انجام میدهد. در وبسایتهای فروشگاهی، when شما یک کد تخفیف وارد میکنید، برنامه بررسی میکند که اگر کد معتبر بود، قیمت را کاهش دهد و در غیر این صورت، قیمت را همانطور نگه دارد. این ساختار ساده اما قدرتمند، یکی از دلایل اصلی انعطافپذیری برنامههاست.
چالشها و پرسشهای رایج درباره if-else
آیا همیشه باید از else استفاده کنیم؟
خیر، گاهی فقط نیاز داریم در صورت درست بودن شرط، کاری انجام دهیم و اگر غلط بود، هیچ کاری نکنیم. در این موارد فقط از if استفاده میکنیم و else را نمینویسیم. مثلاً اگر دمای هوا از 30 درجه بالاتر رفت، کولر را روشن کن و در غیر این صورت، هیچ کاری انجام نده.
اگر بیش از دو حالت داشته باشیم، چه کنیم؟
از else if استفاده میکنیم. یعنی بعد از if اول، دوباره یک شرط جدید با else if مینویسیم و اگر هیچکدام درست نبود، در else نهایی کار پیشفرض را انجام میدهیم. به این ترتیب میتوانیم هر تعداد شرط که نیاز داریم، بررسی کنیم.
آیا میتوانیم if-else را درون if-else دیگر قرار دهیم؟
بله، به این حالت if-else تودرتو میگویند. مثلاً میخواهیم ابتدا بررسی کنیم که آیا کاربر وارد سیستم شده یا نه، اگر شده بود، سپس بررسی کنیم که آیا دسترسی مدیر دارد یا نه. این کار با قرار دادن یک if-else درون if-else دیگر انجام میشود. البته باید دقت کنیم که کد خیلی پیچیده نشود و خوانایی خود را از دست ندهد.