যদি চিন্তা করুন, আমাদের জীবনে অনেক "যদি" (if) রয়েছে। যদি দোকান খোলা থাকে, আমরা যেতে পারি এবং গ্রোসারি কিনতে পারি; অন্যথায়, আমরা পারি না। যদি দুপুর ১২ টা হয়, তবে লানচ ব্রেক নেওয়ার সময়।
প্রোগ্রামও আমাদের মতোই "যদি" এর ওপর নির্ভরশীল। প্রোগ্রামিং-এ, "যদি" কে কন্ডিশনাল স্টেটমেন্ট বলা হয়। এই স্টেটমেন্টগুলো আপনাকে একটি কোড ব্লক চালাতে বা না চালাতে দেয় নির্ভর করে একটি নির্দিষ্ট শর্ত পূরণ হয় কিনা।
এই গাইডে আমরা জাভা-তে if স্টেটমেন্ট কীভাবে কাজ করে এবং কেন সেগুলো উপযোগী তা আলোচনা করব। একটি উদাহরণ দিয়ে দেখাব কীভাবে সেগুলো কাজ করে।
If স্টেটমেন্ট
কখনো কখনো, আপনি আপনার প্রোগ্রামে একটি নির্দিষ্ট লাইন কোড চালাতে চান না। সেটিই কন্ডিশনাল লজিক কাজে লাগে। একটি if স্টেটমেন্ট ব্যবহার করে আপনি একটি এক্সপ্রেশন ইভ্যালুয়েট করতে পারেন, এবং সেই এক্সপ্রেশনের ফলাফলের ওপর নির্ভর করে একটি কোড ব্লক চালাতে পারেন।
if স্টেটমেন্ট একটি বুলিয়ান এক্সপ্রেশন false বা true কিনা তা ইভ্যালুয়েট করে। যদি এক্সপ্রেশনটি true হয়, কোডটি এক্সিকিউট হবে; যদি এক্সপ্রেশনটি false হয়, কিছুই হবে না। কখনো কখনো if স্টেটমেন্টকে কন্ট্রোল ফ্লো স্টেটমেন্টও বলা হয়।
একটি নতুন জাভা ফাইল খুলুন এবং নিচের কোড পেস্ট করুন:
class MenuPrices {
public static void main(String[] args) {
String order = "Ham Sandwich";
if (order.equals("Ham Sandwich")) {
System.out.println("The price of a " + order + " is $1.95.");
}
System.out.println("Done");
}
}
এই কোডে, আমরা order নামে একটি ভেরিয়েবল ডিফাইন করেছি যেটি "Ham Sandwich" স্ট্রিং মান ধারণ করে। তারপর আমরা একটি if স্টেটমেন্ট ব্যবহার করি চেক করার জন্য আমাদের order "Ham Sandwich" টার্মের সমান কিনা। যদি সমান হয়, হ্যাম স্যান্ডউইচের প্রাইস প্রিন্ট হবে।
এই জাভা প্রোগ্রাম আপনার প্রোগ্রামিং এনভায়রনমেন্টে রান করুন। আপনি নিচের রেসপন্স দেখবেন:
The price of a Ham Sandwich is $1.95.
Done
আমরা যে অর্ডার নির্দিষ্ট করেছি সেটি "Ham Sandwich", তাই সেটি লাইন কোডটি চলে। এখন আমাদের অর্ডার পরিবর্তন করি চিকেন স্যান্ডউইচে:
String order = "Chicken Mayo Sandwich";
if (order.equals("Ham Sandwich")) {
System.out.println("The price of a " + order + " is $1.95. ");
}
System.out.println("Done");
আমাদের কোড ফেরত দেবে: Done। আমাদের if স্টেটমেন্টের কন্টেন্ট এক্সিকিউট হয়নি কারণ আমাদের কন্ডিশন—অর্ডার "Ham Sandwich" এর সমান—পূরণ হয়নি।
If Else স্টেটমেন্ট
if স্টেটমেন্ট উপযোগী, কিন্তু যদি আপনি আপনার কন্ডিশন true ইভ্যালুয়েট না হলে কিছু অন্য কিছু করতে চান? সেটিই যথাযথ নামে জাভা if else স্টেটমেন্ট।
ধরুন, আমরা চাই আমাদের প্রোগ্রাম প্রিন্ট করুক: This item is not on the menu. যদি এটি আমাদের দেওয়া অর্ডার খুঁজে না পায়। আমরা আমাদের কোডে একটি else ব্লক যোগ করে এটি করতে পারি:
String order = "Chicken Mayo Sandwich";
if (order.equals("Ham Sandwich")) {
System.out.println("The price of a " + order + " is $1.95. ");
} else {
System.out.println("This item is not on the menu.");
}
System.out.println("Done");
যদি আমাদের এক্সপ্রেশন false ইভ্যালুয়েট হয়, আমাদের else স্টেটমেন্টের কন্টেন্ট এক্সিকিউট হবে। প্রোগ্রাম সেভ করে রান করলে আপনি নিচের আউটপুট দেখবেন:
This item is not on the menu.
Done
যখন আমরা আমাদের অর্ডার আবার "Ham Sandwich" এ পরিবর্তন করি, আগের উদাহরণের আউটপুট ফেরত আসবে।
Else If স্টেটমেন্ট
if..else স্টেটমেন্ট দুটি সম্ভাব্য ফলাফল হ্যান্ডেল করতে পারে: কন্ডিশন পূরণ হয়েছে কিনা, বা কন্ডিশন পূরণ হয়নি। আমরা else if স্টেটমেন্ট ব্যবহার করে আরও কন্ডিশন ইভ্যালুয়েট করতে পারি।
ধরুন, আমরা আমাদের প্রোগ্রামে তিনটি ভিন্ন স্যান্ডউইচ চেক করতে চাই। তাদের দাম:
- Ham Sandwich: $1.95
- Chicken Mayo Sandwich: $2.20
- Smoked Salmon Sandwich: $3.00
আমাদের প্রোগ্রাম কাজ করার জন্য, আমরা কিছু else if স্টেটমেন্ট যোগ করব:
String order = "Chicken Mayo Sandwich";
if (order.equals("Ham Sandwich")) {
System.out.println("The price of a " + order + " is $1.95. ");
} else if (order.equals("Chicken Mayo Sandwich")) {
System.out.println("The price of a " + order + " is $2.20. ");
} else if (order.equals("Smoked Salmon Sandwich")) {
System.out.println("The price of a " + order + " is $3.00. ");
} else {
System.out.println("This item is not on the menu.");
}
System.out.println("Done");
আমাদের প্রোগ্রাম এখন চারটি সম্ভাব্য আউটপুট ফেরত দিতে পারে। আমাদের উপরের প্রোগ্রাম রান করলে, আমরা নিচের রেসপন্স পাব:
The price of a Chicken Mayo Sandwich is $2.20.
Done
আমাদের order ভেরিয়েবলের মান "Smoked Salmon Sandwich" এ পরিবর্তন করি এবং আবার প্রোগ্রাম রান করি:
The price of a Smoked Salmon Sandwich is $3.00.
Done
আপনি দেখতে পাচ্ছেন আমাদের প্রোগ্রাম এখন একাধিক ভিন্ন কন্ডিশন ইভ্যালুয়েট করতে পারে। আমরা যত চাই ততগুলো যোগ করতে পারি। যদি আমরা একটি ক্যাফে চালাতাম, তবে আমরা দশটি ভিন্ন কন্ডিশন চেক করতে চেতাম, আমাদের প্রতিটি স্যান্ডউইচের জন্য একটি।
উপসংহার (এবং চ্যালেঞ্জ)
If স্টেটমেন্ট আপনাকে আপনার প্রোগ্রামের ফ্লো আরও কার্যকরভাবে কন্ট্রোল করতে দেয়। একটি if স্টেটমেন্টের ভেতরের কোড শুধু তখন চলে যখন একটি নির্দিষ্ট কন্ডিশন true হয়। আপনি else...if স্টেটমেন্ট ব্যবহার করে চেক করতে পারেন যে অনেক কন্ডিশন থেকে কেউ পূরণ হয়েছে কিনা, এবং একটি else স্টেটমেন্ট ব্যবহার করে কিছু করতে পারেন যদি কোনো কন্ডিশন পূরণ না হয়।
চ্যালেঞ্জের জন্য প্রস্তুত? একটি প্রোগ্রাম লিখুন যা একজন শিক্ষার্থীর টেস্টের গ্রেড ক্যালকুলেট করে তাদের নümerিক্যাল গ্রেডের ভিত্তিতে। গ্রেড বাউন্ডেরি রেফারেন্স হিসেবে:
- ৮৫+ হলো A
- ৭৫+ হলো B
- ৬৫+ হলো C
- ৫০+ হলো D
- ৫০ এর নিচে হলো F
এখন আপনি জাভা-তে নিজের if স্টেটমেন্ট প্রোফেশনালের মতো লিখতে পারবেন!