در این آموزش یاد می گیرید که از دستور switch برای کنترل جریان اجرای برنامه خود استفاده کنید. در جاوا ، نردبان if..else..if یک کد را از بین بسیاری از بلوک ها اجرا می کند. دستور switch می تواند جایگزین نردبان های طولانی باشد که باعث خوانا بودن کد می شود.
نحو دستور switch به شکل زیر است:
switch (variable/expression) {
case value1:
// statements
break;
case value2:
// statements
break;
.. .. …
.. .. …
default:
// statements
}
دستور switch عبارت (عمدتا متغیر) را ارزیابی کرده و با مقادیر (می تواند عبارت باشد) هر برچسب مقایسه می کند.
دستور switch تمام دستورات برچسب مورد تطبیق را اجرا می کند.
فرض کنید متغیر / عبارت برابر با value2 است. در این حالت ، تمام دستورات مربوط به این مورد تطبیقی اجرا می شوند.
نکته: استفاده از عبارت break. این عبارت اجرای بیانیه سوییچ را خاتمه می دهد. عبارات break مهم هستند زیرا در صورت عدم استفاده از آن ها ، تمام دستورات پس از برچسب مورد تطبیق به ترتیب و تا انتهای بیانیه switch اجرا می شوند.
فلوچارت دستور switch
همچنین لازم به ذکر است که دستور switch در جاوا فقط با موارد زیر کار می کند:
- انواع داده های اولیه: byte ، short ، char و int
- انواع (enum (enum جاوا
- کلاس String
- کلاس های Character ، Byte ، Short و Integer.
مثال ۱ : دستور Switch در جاوا
class Day {
public static void main(String[] args) {
int week = 4;
String day;
switch (week) {
case 1:
day = “Sunday”;
break;
case 2:
day = “Monday”;
break;
case 3:
day = “Tuesday”;
break;
case 4:
day = “Wednesday”;
break;
case 5:
day = “Thursday”;
break;
case 6:
day = “Friday”;
break;
case 7:
day = “Saturday”;
break;
default:
day = “Invalid day”;
break;
}
System.out.println(day);
}
}
خروجی
Wednesday
مثال ۲ : دستور Switch در جاوا
برنامه زیر سه ورودی از کاربر می گیرد: عملگر و ۲ عدد. محاسبات را بر اساس اعداد و عملگر وارد شده انجام می دهد. سپس نتیجه نمایش داده می شود.
ما از شیء اسکنر برای گرفتن ورودی از کاربر استفاده کرده ایم.
import java.util.Scanner;
class Calculator {
public static void main(String[] args) {
char operator;
Double number1, number2, result;
Scanner scanner = new Scanner(System.in);
System.out.print(“Enter operator (either +, -, * or /): “);
operator = scanner.next().charAt(0);
System.out.print(“Enter number1 and number2 respectively: “);
number1 = scanner.nextDouble();
number2 = scanner.nextDouble();
switch (operator) {
case ‘+’:
result = number1 + number2;
System.out.print(number1 + “+” + number2 + ” = ” + result);
break;
case ‘-‘:
result = number1 – number2;
System.out.print(number1 + “-” + number2 + ” = ” + result);
break;
case ‘*’:
result = number1 * number2;
System.out.print(number1 + “*” + number2 + ” = ” + result);
break;
case ‘/’:
result = number1 / number2;
System.out.print(number1 + “/” + number2 + ” = ” + result);
break;
default:
System.out.println(“Invalid operator!”);
break;
}
}
}
خروجی
Enter operator (either +, -, * or /): *
Enter number1 and number2 respectively: 1.4
-۵٫۳
۱٫۴*-۵٫۳ = -۷٫۴۱۹۹۹۹۹۹۹۹۹۹۹۹۹