در این جلسه تیم کدگیت به آموزش دستور شرطی switch در جاوا میپردازد. پیش نیاز این آموزش، آشنایی با if در جاوا است.
ساختار تصمیمگیری
در آموزش های قبل درباره ساختار تصمیم گیری و اینکه چگونه میتوان با دستور شرطی if یک تصمیم گیری را انجام داد صحبت شد.به طور کلی ساختار تصمیم گیری بدین صورت است که با یک یا چندین شرط همراه است و با ارزیابی شروط نتیجه مناسب میگیریم. نتیجه گرفته شده بر اساس یکی از شروط است و بقیه شروط پذیرفته نمیشود( به زبان سادهتر فقط یک پاسخ درس وجود دارد).
در زبان برنامه نویسی جاوا کلمات کلیدی زیر را برای تصمیم گیری قرار داده است:
- If
- If – else
- If های تو در تو
- Switch
در این آموزش به توضیح switch میپردازیم.
دستور شرطی switch در جاوا
دستور switch در جاوا ساختاری به صورت زیر دارد:
switch(expression){
case value :
//Statements
break; //optional
case value :
//Statements
break; //optional
//You can have any number of case statements.
default : //Optional
//Statements
}
در ساختار بالا expression معمولا یک متغیر است برای مقایسه کردن. و value مقدار پیش بینی شده برای متغیر expression است.
برای درک بیشتر یک مثال ساده میزنیم. در زیر ما یک متغیر age تعریف کردیم که معرف سن یک انسان است. سپس ما با دستور switch سن را چاپ میکنیم(فرض کردیم سن بین 18 تا 25 است).
int age = 24;
switch (age) {
case 18:
System.out.println(" you are 18");
break;
case 19:
System.out.println("you are 19");
break;
case 20:
System.out.println("you are 20");
break;
case 21:
System.out.println("you are 21");
break;
case 22:
System.out.println("you are 22");
break;
case 23:
System.out.println("you are 23");
break;
case 24:
System.out.println("you are 24");
break;
case 25:
System.out.println("you are 25");
break;
default:
System.out.println("you are not in 18-25");
break;
}
در کد دستور شرطی switch در جاوا ما از default نیز استفاده کردیم. وقتی هیچکدام از شروط اجرا نشود برنامه وارد default میشود.
در زیر یک مثال دیگر زده ایم و نمره یک دانش آموز را به 4 گروه تقسیم کرده ایم:
- خیلی خوب(A)
- خوب(B)
- بد(C)
- خیلی بد(D)
ما با دستور switch این نمرات را نمایش میدهیم.
String grade = "C";
switch (grade) {
case "A":
System.out.println("very good");
break;
case "B":
System.out.println("good");
break;
case "C":
System.out.println("bad");
break;
case "D":
System.out.println("very bad");
break;
}