دوره‌ها / JAVA / شرط‌ها (Java If...Else)

شرط‌ها (Java If...Else)

15 دقیقه Article

شرط‌ها (If...Else): تصمیم‌گیری هوشمند در کد 🚦🧠

دستورات شرطی به ما اجازه می‌دهند تا بخشی از کد را فقط در صورتی اجرا کنیم که یک شرط خاص "درست" باشد. این اولین قدم برای ساختن برنامه‌های هوشمند است.

۱. دستور if

ساده‌ترین حالت؛ اگر شرط برقرار باشد، کدهای داخل آکولاد اجرا می‌شوند:

{code_block('if (20 > 18) {\n System.out.println("20 is greater than 18");\n}')}

۲. دستور else

برای زمانی که شرط if برقرار نباشد، یک نقشه جایگزین داریم:

{code_block('int time = 20;\nif (time < 18) {\n System.out.println("Good day.");\n} else {\n System.out.println("Good evening.");\n}')}

۳. دستور else if

وقتی می‌خواهیم چندین شرط مختلف را به ترتیب چک کنیم:

{code_block('int balance = 500;\nif (balance > 1000) {\n System.out.println("Rich!");\n} else if (balance > 100) {\n System.out.println("Standard.");\n} else {\n System.out.println("Poor.");\n}')}

عملگر شرطی ساده (Ternary Operator):

روشی کوتاه برای نوشتن if...else در یک خط:

{code_block('String result = (time < 18) ? "Good day." : "Good evening.";')}
بلوک‌های کد: اگر بعد از if فقط یک خط کد دارید، آکولادها اختیاری هستند؛ اما همیشه از آکولاد استفاده کنید. این کار از بسیاری از باگ‌های منطقی در آینده جلوگیری می‌کند.
بهینه‌سازی: در سلسله مراتب else if، شرط‌هایی که احتمال وقوع بیشتری دارند را بالاتر بنویسید تا برنامه زودتر از شرط خارج شود.
<hr style="margin: 50px 0; border: 0; border-top: 1px dashed rgba(255,255,255,0.1);">

بخش تخصصی: کنترل جریان در پروژه‌های صنعتی 🛠️💎

در این بخش، به نکاتی می‌پردازیم که تفاوت یک کدآموز و یک مهندس نرم‌افزار حرفه‌ای را مشخص می‌کنند.

۱. پیچیدگی زمانی (Time Complexity) در حلقه‌ها

هر بار که حلقه‌ای می‌نویسید، باید به تعداد تکرارهای آن فکر کنید. در جاوا، حلقه‌های تودرتو (Nested Loops) می‌توانند به سرعت باعث کُند شدن برنامه شوند (مرتبه O(n²)). همیشه سعی کنید با استفاده از الگوریتم‌های بهتر یا ساختارهایی مثل HashMap، نیاز به حلقه‌های تودرتو را به حداقل برسانید.

۲. بهینه‌سازی شرط‌ها (Early Return)

یکی از اصولی‌ترین روش‌ها برای نوشتن کدهای تمیز، استفاده از Early Return است. به جای نوشتن شرط‌های تو در تو (Nested Ifs)، ابتدا حالت‌های خطا را چک کرده و از متد خارج شوید. این کار باعث می‌شود کد شما "تخت" (Flat) و خواناتر شود.

۳. امنیت و اعتبار‌سنجی (Validation)

کنترل جریان فقط برای منطق برنامه نیست؛ بلکه برای امنیت هم حیاتی است. همیشه ورودی‌های کاربر را قبل از پردازش با استفاده از شرط‌ها اعتبار‌سنجی کنید تا از بروز مشکلاتی مثل NullPointerException یا حملات تزریق کد جلوگیری شود.

نکته پایانی: ساختارهای کنترلی قلب تپنده منطق برنامه شما هستند. تسلط بر نحوه صحیح استفاده از آن‌ها، باعث می‌شود برنامه‌هایی بنویسید که نه تنها کار می‌کنند، بلکه در برابر خطاها مقاوم و با راندمان بالا هستند.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تعیین وضعیت ورود Easy
سوال تمرین

یک متغیر score با مقدار 85 تعریف کنید. اگر نمره بیشتر یا مساوی 50 بود چاپ کنید Pass، در غیر این صورت چاپ کنید Fail.

پاسخ تمرین
JAVA
public class Main {
  public static void main(String[] args) {
    int score = 85;
    if (score >= 50) {
      System.out.println("Pass");
    } else {
      System.out.println("Fail");
    }
  }
}

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.