Farzad Afi Logo

FarzadAfi

آموزش تخصصی برنامه نویسی

condition second section | شروط در جاوا قسمت دوم

📖توضیحات درس

🎥 این ویدیو قسمت هفتم از بوت‌کمپ رایگان جاوا است. 🔄 شروط در جاوا – قسمت دوم در این جلسه با ادامه مبحث شروط در جاوا آشنا می‌شویم؛ شامل ساختارهای شرطی تو در تو (`nested if`)، استفاده از `else if` و همچنین ساختار `switch`. در پایان با چند تمرین عملی، مفاهیم این بخش را مرور و تثبیت خواهیم کرد. 📂 لینک سورس کد این جلسه در گیت هاب: https://github.com/farzadafi/ProgrammingByFarzadAfi/tree/master/src/d_condition 📌 گروه پرسش و پاسخ تلگرام: programmingByFarzadAfi@ 📌 گروه پرسش و پاسخ بله: @programming_by_farzadafi هر سوالی داشتید، می‌توانید در این گروه ها بپرسید تا من یا مربی‌های حاضر راهنمایی‌تان کنیم. 🎯 بوت‌کمپ رایگان جاوا – آموزش تمرین‌محور برای یادگیری عمیق و ورود به بازار کار.
01:05:03🎯رایگان

📄جزوه

مفاهیم کلیدی

Nested If

ساختاری که در آن یک دستور if داخل بدنهٔ if دیگری قرار می‌گیرد. این حالت برای بررسی شرط‌های لایه‌بندی‌شده و چندمرحله‌ای استفاده می‌شود.

If-Else-If Ladder

مجموعه‌ای از شروط متوالی که وقتی با بیش از دو حالت (فراتر از یک if و else ساده) روبه‌رو هستیم، از آن استفاده می‌کنیم تا حالت‌های مختلف را به‌ترتیب بررسی کنیم.

Switch Case

یک ساختار کنترلی که جایگزین خواناتر و تمیزتر برای زنجیره‌های طولانی if-else-if است. این ساختار یک متغیر را با چندین مقدار ثابت (case) مقایسه می‌کند.

Default Case

بخش اختیاری در ساختار switch که تنها در صورتی اجرا می‌شود که مقدار متغیر با هیچ‌کدام از caseهای تعریف‌شده مطابقت نداشته باشد.

Modulo Operator (%)

عملگری که باقی‌ماندهٔ تقسیم دو عدد را محاسبه می‌کند. این عملگر برای تشخیص زوج یا فرد بودن اعداد (باقی‌مانده بر ۲) بسیار کاربردی است.

نکات مهم مصاحبه‌ای

تفاوت عملکردی بین چندین if مجزا و ساختار if-else-if چیست؟

در چندین if مجزا، کامپایلر تمام شروط را یک‌به‌یک بررسی می‌کند، حتی اگر شرط اول درست باشد.

اما در if-else-if به‌محض اینکه یکی از شروط برقرار شود، بقیهٔ بدنه نادیده گرفته می‌شود و برنامه از ساختار شرطی خارج می‌شود؛ این رفتار باعث بهینه‌تر شدن کد می‌گردد.

چه زمانی استفاده از switch بر if-else-if ترجیح داده می‌شود؟

زمانی که قصد داریم یک متغیر واحد را با مقادیر مشخص و ثابت متعددی مقایسه کنیم، switch کد را بسیار خواناتر و تمیزتر می‌کند.

آیا در switch می‌توان از رشته‌ها (String) استفاده کرد؟

بله. از جاوا نسخهٔ ۷ به بعد، علاوه بر انواع داده‌ای عددی و کاراکتری، می‌توان از String نیز در عبارت switch استفاده کرد.

مثال یا سناریوی کاربردی

سناریوی تشخیص فصل بر اساس شماره ماه:

فرض کنید عددی بین ۱ تا ۱۲ از کاربر می‌گیریم.

  • اگر عدد بین ۱ تا ۳ باشد، سیستم باید «بهار» را چاپ کند.
  • این کار با استفاده از if (برای بررسی ۱ بودن) و سپس else ifهای متوالی برای بقیهٔ ماه‌ها انجام می‌شود.
  • در نهایت برای بهینه‌سازی، همین سناریو با switch بازنویسی می‌شود: برای caseهای ۱، ۲ و ۳ خروجی Spring در نظر گرفته می‌شود و یک بخش default هم برای مدیریت اعداد خارج از محدوده (مثلاً ۱۵) اضافه می‌گردد تا پیام خطا چاپ کند.

بیشتر بدانید

IDE Tip

در محیط IntelliJ، برای فرمت خودکار کدها و مرتب‌سازی پرانتزها و فاصله‌ها می‌توانید از کلیدهای ترکیبی Ctrl + Alt + L استفاده کنید.

نکته نگارشی در Switch

در نسخه‌های جدید جاوا، ساختار switch بهینه‌تر شده است؛ اما باید مراقب باشید که اگر چندین دستور در یک case دارید، از آکولاد {} استفاده کنید تا محدودهٔ کد مشخص باشد.