Java তে Switch Case স্টেটমেন্ট একটি শক্তিশালী কন্ট্রোল ফ্লো স্টেটমেন্ট যা একাধিক শর্তের ভিত্তিতে একটি নির্দিষ্ট এক্সপ্রেশন বা মান অনুযায়ী কোডের ব্লক নির্বাচন করে। সাধারণত এটি যদি একাধিক if-else ব্লক ব্যবহারের চেয়ে আরও পরিষ্কার এবং দ্রুত হয়, যখন আপনার একাধিক শর্তের উপর ভিত্তি করে কাজ করতে হয়।
Switch Case Example:
এখানে একটি উদাহরণ দেয়া হলো যেখানে switch স্টেটমেন্ট ব্যবহার করে একাধিক কন্ডিশন হ্যান্ডল করা হয়েছে। এই উদাহরণে, একটি ডে অব দ্য উইক (সোমবার, মঙ্গলবার, ইত্যাদি) এর উপর ভিত্তি করে সিস্টেম একটি বার্তা প্রদর্শন করবে।
Example 1: Basic Switch Statement
public class SwitchExample {
public static void main(String[] args) {
int day = 3; // 1 = Sunday, 2 = Monday, 3 = Tuesday, etc.
// Switch statement to handle multiple conditions based on 'day'
switch (day) {
case 1:
System.out.println("Today is Sunday");
break;
case 2:
System.out.println("Today is Monday");
break;
case 3:
System.out.println("Today is Tuesday");
break;
case 4:
System.out.println("Today is Wednesday");
break;
case 5:
System.out.println("Today is Thursday");
break;
case 6:
System.out.println("Today is Friday");
break;
case 7:
System.out.println("Today is Saturday");
break;
default:
System.out.println("Invalid day");
}
}
}
Code Explanation:
- Switch Expression:
switch(day)— এখানেdayএকটি ইনটিজার ভ্যারিয়েবল এবংswitchতার মান অনুসারে উপযুক্ত কোড ব্লক নির্বাচন করবে। - Case Statements:
- প্রতিটি
caseস্টেটমেন্টে একটি নির্দিষ্ট মান (যেমন1,2,3ইত্যাদি) দেওয়া আছে, এবং যদিdayএর মান ঐ মানের সমান হয়, তাহলে সেসম্পর্কিত কোড ব্লক এক্সিকিউট হবে।
- প্রতিটি
- Break Statement: প্রতিটি
caseব্লকের শেষেbreakস্টেটমেন্ট থাকে, যাতে একবারcaseব্লক এক্সিকিউট হয়ে গেলে সিস্টেম অন্য কেসে চলে না যায়। যদিbreakনা দেওয়া হয়, তখন সিস্টেম পরবর্তী কেসের কোডও এক্সিকিউট করবে, যা fall-through বলে পরিচিত। - Default Case: যদি কোন
caseম্যাচ না করে, তখনdefaultব্লক এক্সিকিউট হবে, যা সাধারণত অপরিষ্কার ইনপুট হ্যান্ডল করার জন্য ব্যবহৃত হয়।
Example 2: Switch with String
Java 7 এবং তার পরবর্তী সংস্করণে, switch স্টেটমেন্টে String টাইপের ভ্যালু ব্যবহার করা সম্ভব। নিচে একটি উদাহরণ দেয়া হলো যেখানে দিনের নামের উপর ভিত্তি করে একটি বার্তা প্রদর্শন করা হবে।
public class SwitchStringExample {
public static void main(String[] args) {
String day = "Tuesday";
switch (day) {
case "Monday":
System.out.println("Today is Monday");
break;
case "Tuesday":
System.out.println("Today is Tuesday");
break;
case "Wednesday":
System.out.println("Today is Wednesday");
break;
case "Thursday":
System.out.println("Today is Thursday");
break;
case "Friday":
System.out.println("Today is Friday");
break;
case "Saturday":
System.out.println("Today is Saturday");
break;
case "Sunday":
System.out.println("Today is Sunday");
break;
default:
System.out.println("Invalid day");
}
}
}
Code Explanation:
- এখানে
dayএকটি String ভ্যারিয়েবল হিসেবে ব্যবহৃত হয়েছে এবংswitchস্টেটমেন্টে String টাইপের ভ্যালু দেওয়া হয়েছে। switch(day)স্টেটমেন্টটিdayএর মানের উপর ভিত্তি করে একটি নির্দিষ্ট বার্তা প্রিন্ট করবে।- String-based case matching: এখানে String ভ্যালু ব্যবহার করে একাধিক শর্ত পরীক্ষা করা হয়েছে, যেমন "Monday", "Tuesday", "Wednesday" ইত্যাদি।
- Default Case: যদি কোন কেস মেলেনি, তাহলে ডিফল্ট ব্লকটি এক্সিকিউট হবে।
Example 3: Switch with Multiple Conditions (Using Comma for Multiple Values)
একই switch স্টেটমেন্টে একাধিক শর্ত (যেমন একই কার্যকলাপ বা বার্তা) হ্যান্ডল করা যায়, যেখানে একই case ব্লকের মধ্যে একাধিক মান যুক্ত করা যায়। নিচে এর একটি উদাহরণ দেয়া হলো:
public class SwitchMultipleExample {
public static void main(String[] args) {
int month = 3; // March
switch (month) {
case 1:
case 2:
case 12:
System.out.println("It's Winter season");
break;
case 3:
case 4:
case 5:
System.out.println("It's Spring season");
break;
case 6:
case 7:
case 8:
System.out.println("It's Summer season");
break;
case 9:
case 10:
case 11:
System.out.println("It's Autumn season");
break;
default:
System.out.println("Invalid month");
}
}
}
Code Explanation:
- Multiple Conditions in a Case:
case 1: case 2: case 12:— এই কেসগুলোর জন্য একই কার্যকলাপ হবে। এখানে একাধিক কেস একসাথে ব্যবহার করা হয়েছে, যার মাধ্যমে একই অ্যাকশন করা হয়েছে।
- Season Checking:
- কোডটি বছরের বিভিন্ন সময়ের (Winter, Spring, Summer, Autumn) জন্য কাজ করবে, যেখানে বিভিন্ন মাসের মানের জন্য একই প্রিন্ট স্টেটমেন্ট প্রদর্শিত হবে।
- Default Case:
- যদি মাসের মান সঠিক না হয়, তখন ডিফল্ট কেসটি এক্সিকিউট হবে এবং "Invalid month" মেসেজটি প্রদর্শিত হবে।
- Switch statement একাধিক কন্ডিশন হ্যান্ডল করার জন্য একটি অত্যন্ত শক্তিশালী টুল।
- এটি if-else এর তুলনায় অনেক বেশি readable এবং efficient যখন অনেক শর্তের ভিত্তিতে সিদ্ধান্ত নেওয়ার প্রয়োজন হয়।
- Java তে
switchস্টেটমেন্ট ব্যবহার করে আপনি String, int, char, ইত্যাদি ডাটা টাইপের শর্ত নির্ধারণ করতে পারবেন এবং একাধিক কন্ডিশন সহজে হ্যান্ডল করতে পারবেন।
Read more