switch স্টেটমেন্টএকটি if/else স্টেটমেন্টের মতো, একটি switch স্টেটমেন্ট আপনাকে শর্তসাপেক্ষে কোড চালিয়ে প্রোগ্রামের ফ্লো বদলানোর সুযোগ দেয়।
পার্থক্য হলো, একটি switch স্টেটমেন্ট কেবল একটি প্রিমিটিভ বা স্ট্রিং এক্সপ্রেশনের মানকে পূর্বনির্ধারিত কনস্ট্যান্ট মানের সাথে তুলনা করতে পারে।
একটি switch স্টেটমেন্ট ব্যবহার করার সময় কিছু কিওয়ার্ড কাজে আসে।
switch: এই কিওয়ার্ডটি আপনাকে switch স্টেটমেন্টের গঠন ডিক্লেয়ার করতে দেয়।
এর পরে সেই এক্সপ্রেশন বা ভ্যারিয়েবল থাকে, যেটি ফলাফল বদলে দেবে।case: ফলাফলের বিভিন্ন সম্ভাবনা ডিক্লেয়ার করতে আপনি এই কিওয়ার্ডটি ব্যবহার করবেন।break: কাঙ্ক্ষিত ফ্লো-এর শেষে switch-এর এক্সিকিউশন থামানোর জন্য break কিওয়ার্ডটি খুবই উপযোগী।
যদি আপনি এটি ভুলে যান, তবে প্রোগ্রাম চলতে থাকবে এবং অনাকাঙ্ক্ষিত ফলাফল দিতে পারে।default: নাম অনুযায়ী, যখন অন্য কোনো case আপনার এক্সপ্রেশনের ফলাফলের সাথে মেলে না, তখন এটিকে ডিফল্ট ফলাফল হিসেবে ব্যবহার করুন।সবচেয়ে সরল রূপে এগুলো একটি প্রিমিটিভ বা স্ট্রিং এক্সপ্রেশন পরীক্ষা করে এবং তার মানের ভিত্তিতে সিদ্ধান্ত নেয়। যেমন:
String direction = getDirection();
switch (direction) {
case "left":
goLeft();
break;
case "right":
goRight();
break;
default:
// otherwise
markTime();
break;
}
আপনি একটি সিস্টেম তৈরি করছেন, যা একটি ফুটবল ক্লাবের ওয়েবসাইটের কর্মীদের ম্যাচের রিপোর্ট করতে সাহায্য করবে। বিভিন্ন সোর্স থেকে ডেটা আসে এবং পরিষ্কার করার পর সেগুলো একটি একক স্ট্রিমে পাইপ করা হয়।
দলটি কেবল ৪-৩-৩ ফর্মেশনেই খেলে এবং খেলোয়াড় বদলের অনুমতি দেওয়া ১৯৬৫ সালের নিয়ম পরিবর্তনটি তারা কখনো মেনে নেয়নি, বড় স্কোয়াডের কথা তো দূরের কথা।
খেলোয়াড়দের বিবরণ নিচে দেওয়া হলো:
1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"
জার্সি নম্বরের ভিত্তিতে খেলোয়াড়ের বিবরণ আউটপুট দেওয়ার জন্য স্ট্যাটিক FootballMatchReports.onField() মেথডটি ইমপ্লিমেন্ট করুন।
FootballMatchReports.onField(10);
// => "striker"
১-১১ রেঞ্জের বাইরের কোনো জার্সি নম্বর প্রসেস করা হলে 'invalid' রিটার্ন করার জন্য FootballMatchReports.onField() মেথডটি পরিবর্তন করুন।
FootballMatchReports.onField(13);
// => "invalid"
Exercism-এ সাইন আপ করুন, Java ট্র্যাকের 26টি কনসেপ্ট158টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।