شرط switch

دستور switch در جاوا: case، break، default و چند مقدار در یک case.

دستور switch

جایگزین تمیز برای زنجیره‌های طولانی if...else:

int day = 3;

switch (day) {
    case 1:
        System.out.println("شنبه");
        break;
    case 2:
        System.out.println("یکشنبه");
        break;
    case 3:
        System.out.println("دوشنبه");
        break;
    default:
        System.out.println("روز نامعتبر");
}

نقش break

بدون break اجرا به case بعدی می‌ریزد (fall-through):

int x = 2;
switch (x) {
    case 1:
        System.out.println("یک");
    case 2:
        System.out.println("دو");   ← اجرا می‌شود
    case 3:
        System.out.println("سه");   ← این هم! (fall-through)
        break;
    case 4:
        System.out.println("چهار"); ← این نه (break قبلی)
}

چند مقدار در یک case

int day = 6;

switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("روز کاری");
        break;
    case 6:
    case 7:
        System.out.println("آخر هفته!");
        break;
}

switch روی رشته

String lang = "java";

switch (lang) {
    case "java":
        System.out.println("جاوا ☕");
        break;
    case "python":
        System.out.println("پایتون 🐍");
        break;
    default:
        System.out.println("ناشناخته");
}

switch expression (Java 14+)

شکل مدرن‌تر که مقدار برمی‌گرداند:

int day = 6;
String type = switch (day) {
    case 1, 2, 3, 4, 5 -> "روز کاری";
    case 6, 7 -> "آخر هفته";
    default -> "نامعتبر";
};
System.out.println(type);

چه زمانی switch و چه زمانی if؟

وضعیتبهترین
مقایسه یک متغیر با مقادیر مشخصswitch
شرط‌های پیچیده (بازه، &&، ||)if
۳+ حالت برای یک متغیرswitch

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط