কটলিনে if-else এবং nested if স্টেটমেন্টের ব্যবহার অন্যান্য প্রোগ্রামিং ভাষার মতোই, কিন্তু কটলিনে এগুলো আরও সংক্ষিপ্ত ও সুবিধাজনক। নিচে প্রতিটি বিষয় বিস্তারিতভাবে ব্যাখ্যা করা হলো:
If-else স্টেটমেন্ট
if-else স্টেটমেন্ট কন্ডিশনাল (শর্তসাপেক্ষ) স্টেটমেন্ট হিসেবে ব্যবহৃত হয়, যা কোনো শর্ত সত্য হলে একটি ব্লক এক্সিকিউট করে এবং শর্ত মিথ্যা হলে অন্য একটি ব্লক এক্সিকিউট করে।
সাধারণ গঠন:
if (condition) {
// শর্ত সত্য হলে এই কোড ব্লকটি এক্সিকিউট হবে
} else {
// শর্ত মিথ্যা হলে এই কোড ব্লকটি এক্সিকিউট হবে
}
উদাহরণ:
val number = 10
if (number > 0) {
println("Number is positive")
} else {
println("Number is negative or zero")
}
এখানে, number ভ্যারিয়েবলটি যদি ০ এর চেয়ে বড় হয়, তাহলে "Number is positive" প্রিন্ট হবে। অন্যথায়, "Number is negative or zero" প্রিন্ট হবে।
If-else as an Expression
কটলিনে if-else একটি এক্সপ্রেশন হিসেবে ব্যবহার করা যায়, অর্থাৎ এটি একটি ভ্যালু রিটার্ন করতে পারে। এটি বিশেষভাবে উপযোগী, কারণ আপনি এক্সপ্রেশনটি সরাসরি একটি ভ্যারিয়েবলে অ্যাসাইন করতে পারেন।
উদাহরণ:
val number = -5
val result = if (number > 0) {
"Positive"
} else {
"Negative or Zero"
}
println(result) // এটি প্রিন্ট করবে "Negative or Zero"
এখানে, if-else এক্সপ্রেশনটি result ভ্যারিয়েবলে একটি ভ্যালু অ্যাসাইন করে।
Nested If
যদি একটি if বা else if ব্লকের ভেতরে আরেকটি if বা else ব্লক থাকে, সেটাকে nested if বলা হয়। এটি একাধিক শর্ত চেক করার জন্য ব্যবহার করা হয়।
সাধারণ গঠন:
if (condition1) {
// শর্ত ১ সত্য হলে
if (condition2) {
// শর্ত ২ সত্য হলে
} else {
// শর্ত ২ মিথ্যা হলে
}
} else {
// শর্ত ১ মিথ্যা হলে
}
উদাহরণ:
val number = 15
if (number > 0) {
if (number % 2 == 0) {
println("Number is positive and even")
} else {
println("Number is positive and odd")
}
} else {
println("Number is negative or zero")
}
এখানে, প্রথমে চেক করা হচ্ছে যে number ০ এর চেয়ে বড় কি না। যদি তা সত্য হয়, তাহলে ভেতরের if ব্লকটি চেক করবে সংখ্যাটি জোড় (even) কি না। যদি না হয়, তাহলে else ব্লকে গিয়ে বলবে যে সংখ্যাটি বিজোড় (odd)।
Nested If এড়ানোর উপায়: if-else Ladder
Nested if স্টেটমেন্ট অনেক সময় জটিল হয়ে যেতে পারে। একে সহজ করতে if-else ladder ব্যবহার করা যায়, যেখানে একাধিক শর্ত একসাথে চেক করা হয়।
উদাহরণ:
val number = -1
val result = if (number > 0) {
"Positive"
} else if (number < 0) {
"Negative"
} else {
"Zero"
}
println(result) // এটি প্রিন্ট করবে "Negative"
এখানে, একাধিক শর্ত এক লাইনে চেক করা হয়েছে, যা কোডকে সহজ ও সংক্ষিপ্ত করেছে।
উপসংহার
কটলিনে if-else এবং nested if স্টেটমেন্ট শর্তসাপেক্ষ কোড লিখতে সহজ এবং কার্যকর উপায়। কটলিনে if-else এক্সপ্রেশন হিসেবে ব্যবহার করার সুবিধা রয়েছে, যা কোডকে আরও সংক্ষিপ্ত ও পরিস্কার করে তোলে। nested if দিয়ে একাধিক শর্ত চেক করা যায়, কিন্তু if-else ladder ব্যবহার করে জটিলতা কমানো সম্ভব।