জাভাতে, প্রোগ্রামের ফ্লো কন্ট্রোল করার অনেক পদ্ধতি আছে। কন্ট্রোল ফ্লো স্টেটমেন্টগুলো, ডিসিশন মেকিং স্টেটমেন্ট ইমপ্লিমেন্ট করে এক্সিকিউশনের ফ্লো পরিবর্তন বা ভাঙা দেয়।
জাভাতে ডিসিশন মেকিং স্টেটমেন্টগুলো হল:
ifস্টেটমেন্টif...elseস্টেটমেন্টswitchস্টেটমেন্ট
এই পোস্টটি জাভা কন্ট্রোল ফ্লো স্টেটমেন্টগুলোর বর্ণনা এবং কোড উদাহরণ প্রদান করে।
জাভা if স্টেটমেন্ট
if স্টেটমেন্টের সিনট্যাক্স:
if (condition) {
// কন্ডিশন true হলে শুধু এই কোড এক্সিকিউট করুন
}
if কীওয়ার্ড ব্যবহার করা হয় একটি কন্ডিশন true কিনা চেক করতে। যদি সেটি true হয়, তবে কার্লি ব্রেসের ভিতরের নির্দিষ্ট কোড এক্সিকিউট হয়।
উদাহরণ:
if (month == 'December') {
System.out.println("Winter Season");
}
নোট: প্যarethেসিসের ভিতরের কন্ডিশন অবশ্যই একটি বুলিয়ান এক্সপ্রেশন হতে হবে। অর্থাৎ, এক্সপ্রেশনটির রেজাল্ট বায় true বা false হতে হবে।
কন্ডিশন ইভ্যালুয়েট করতে আমরা সাধারণ ম্যাথমেটিক্যাল অপারেটর ব্যবহার করি:
- Less than -
a < b - Less than or equal to -
a <= b - Greater than -
a > b - Greater than or equal to -
a >= b - Equal to -
a == b - Not Equal to -
a != b
আমরা একটি কন্ডিশন বা একাধিক কন্ডিশন ব্যবহার করতে পারি, কিন্তু রেজাল্ট সবসময় বুলিয়ানই হবে।
একাধিক কন্ডিশন ব্যবহার করার সময়, আমরা লজিক্যাল AND && এবং লজিক্যাল OR || অপারেটর ব্যবহার করি।
লজিক্যাল OR দিয়ে if স্টেটমেন্ট উদাহরণ:
if (month == 'December' || month == 'January') {
System.out.println("Winter Season");
}
লজিক্যাল AND দিয়ে if স্টেটমেন্ট উদাহরণ:
if (month == 'December' && day == '25') {
System.out.println("Christmas Day!");
}
নোট: লজিক্যাল AND && true রিটার্ন করে যদি দুটি স্টেটমেন্টই true হয়। লজিক্যাল OR || true রিটার্ন করে যদি যেকোনো একটি স্টেটমেন্ট true হয়।
জাভা else স্টেটমেন্ট
if স্টেটমেন্টের রেজাল্ট false হলে এবং আমরা রেজাল্টে একশন নিতে চাই, তবে আমরা else স্টেটমেন্ট ব্যবহার করি।
else স্টেটমেন্ট if স্টেটমেন্টের ক্লোজিং ব্রেসের hemen পরে ফলো করে।
উদাহরণ:
int temperature;
if (temperature <= 0) {
System.out.println("Water in solid state");
} else {
System.out.println("Water in liquid state");
}
উপরের উদাহরণে, যদি টেম্পারেচার ০ বা ০ থেকে কম হয়, তবে "Water in solid state" কনসোলে প্রিন্ট হবে। else স্টেটমেন্ট এक्सিকিউট হবে না।
যদি টেম্পারেচার ০ থেকে বেশি হয়, তবে "Water in liquid state" কনসোলে প্রিন্ট হবে।
শর্ট হ্যান্ড if…else স্টেটমেন্ট
আমরা if...else স্টেটমেন্টের জন্য শর্ট হ্যান্ড নোটেশনও ব্যবহার করতে পারি যাকে টার্নারি অপারেটর বলা হয়।
টার্নারি অপারেটরের সিনট্যাক্স:
variable = (condition) ? expressionTrue : expressionFalse;
প্রথমে ()-এ কন্ডিশন ইভ্যালুয়েট করুন। অপারেশনটি true হলে, ? এবং : মাঝপথের এক্সপ্রেশন এক্সিকিউট করুন, অন্যথায় :-এর পরের কন্ডিশন এক্সিকিউট করুন।
এটি মনে রাখার একটি উপায়: (condition) ? true : false
জাভা else if স্টেটমেন্ট
আমরা যতক্ষণ না একটি কন্ডিশন মেট হয়, ততক্ষণ একাধিক if এবং else স্টেটমেন্ট ব্যবহার করতে পারি।
else if এর সিনট্যাক্স:
if (condition1) {
// কন্ডিশন1 true হলে এই কোড এক্সিকিউট করুন
} else if (condition2) {
// কন্ডিশন2 true হলে এই কোড এক্সিকিউট করুন
} else {
// দুটি কন্ডিশনই false হলে এই কোড এক্সিকিউট করুন
}
নোট: আমরা একাধিক else if স্টেটমেন্ট রাখতে পারি কিন্তু সবসময় একটি else স্টেটমেন্ট দিয়ে টার্মিনেট করি।
উদাহরণ:
int temperature;
if (temperature <= 0) {
System.out.println("Water in solid state");
} else if (temperature >= 100) {
System.out.println("Water in gas state");
} else {
System.out.println("Water in liquid state");
}
জাভা switch স্টেটমেন্ট
প্রোগ্রামের ফ্লো কন্ট্রোল করার আরেকটি পদ্ধতি হল switch স্টেটমেন্ট। switch স্টেটমেন্ট তখন ব্যবহার করা হয় যখন আমাদের অনেক অপশন থাকে এবং প্রতিটি কেসে আমরা ভিন্ন কোড এক্সিকিউট করি।
এটি একাধিক if...else স্টেটমেন্টের মত কাজ করে।
switch সিনট্যাক্স
switch স্টেটমেন্টের সিনট্যাক্স:
switch (expression) {
case a:
// কিছু কোড এক্সিকিউট করুন
break;
case b:
// অন্য কিছু কোড এক্সিকিউট করুন
break;
default:
// ডিফল্ট কোড এক্সিকিউট করুন
}
প্রথমে একটি এক্সপ্রেশন ইভ্যালুয়েট করা হয়। এক্সপ্রেশনটির আউটকাম প্রতিটি case এর সাথে কম্পেয়ার করা হয়। যদি এক্সপ্রেশনটির আউটকাম যেকোনো case কন্ডিশনের সাথে ম্যাচ করে, তবে সংশ্লিষ্ট ব্লক কোড এক্সিকিউট হয়।
break কীওয়ার্ড switch ব্লক থেকে বের হওয়ার জন্য ব্যবহৃত হয়। এটি গুরুত্বপূর্ণ কারণ একবার ম্যাচ পাওয়া যাক, আমরা অন্য case কন্ডিশন ইভ্যালুয়েট করতে চাই না।
default কীওয়ার্ড এক্সিকিউট হয় যদি কোনো case switch এক্সপ্রেশনটির ভ্যালুতে ম্যাচ না করে।
break এবং default দুটোই অপশনাল, কিন্তু ভালো কোডিং প্র্যাকটিসের জন্য রিকমেন্ডেড।
উদাহরণ switch স্টেটমেন্ট
নিচের কোডটি switch স্টেটমেন্ট ব্যবহার করে দেখে যে ল্যাঙ্গুয়েজটি সাপোর্টেড কিনা:
String lang = "en";
switch (lang) {
case "en":
System.out.println("English");
break;
case "fr":
System.out.println("French");
break;
case "de":
System.out.println("Deutsch");
break;
default:
System.out.println("Language not supported");
}
আউটপুট:
English
সারসংক্ষেপ
এই আর্টিকেলে, আমরা জাভা কন্ট্রোল ফ্লো স্টেটমেন্টগুলো কভার করেছি যেগুলো হল if, else if এবং switch স্টেটমেন্ট।