آموزش مقدماتی جاوا | Switch
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
دستور switch
در بخش قبل دستور else if را آموختیم. فرض کنید می خواهیم کدی بنویسیم که اگر متغیر level برابر با عدد 1 بود، کلمه “very easy” چاپ شود، اگر برابر با 2 بود، کلمه “easy”، اگر برابر با 3 بود کلمه “medium” و اگر برابر با 4 بود کلمه “hard” چاپ شود. اگر هیچ کدام از این موارد نبود نیز کلمه “unknown” در خروجی چاپ شود. این کد را باید با چنین دستور else if پی در پی بنویسیم:
int level = 4;
if(level == 1) {
System.out.println("veryeasy");
} else if(level == 2) {
System.out.println("easy");
} else if(level == 3) {
System.out.println("medium");
} else if(level == 4) {
System.out.println("hard");
} else {
System.out.println("unknown");
}
در همه مواردی که به این شکل از چندین دستور else if پی در پی برای چک کردن مقدار “یک متغیر” استفاده می شود، می توانیم از دستور جایگزینی به نام switch استفاده کنیم.
دستور switch به شکل زیر نوشته شده و بر اساس شرط های گوناگون کد مورد نظر را انتخاب کرده و اجرا می کند.
switch(expression) {
case x:
// بلوک کد
break;
case y:
// بلوک کد
break;
default:
// بلوک کد
}
به این شکل کار می کند که:
- متغیر مورد نظر که می خواهیم مقدار آن را چک کنیم جلوی دستور
switchنوشته شده و یکبار برداشته می شود. - مقدار این متغیر با مقدار هر کدام از
caseها مقایسه می شود. دستورcaseکار همان if و else if ها را انجام می دهد. - اگر با هر کدام مطابقت داشت، بلوک کد مرتبط با آن اجرا می شود و پس از اجرا با استفاده از دستور
breakازswitchخارج می شود تاcaseهای بعدی بررسی نشوند. - دستورات
defaultکار همانelseآخر را می کند که البته اختیاری است.
در مثال زیر، شماره ی روز هفته را به دستور switch می دهیم تا با مطابقت با case های مختلف، نام آن روز از هفته چاپ شود:
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// خروجی = "Thursday" (day 4)
برای ثبت پرسش ابتدا در سایت وارد شوید.