আসসালামু আলাইকুম। আশা করি সবাই ভালো আছেন। আজকে আমি যেই বিষয় নিয়ে টিউন করব তা হল জাভাতে কন্ট্রল স্টেটমেন্ট।
কন্ট্রল স্টেটমেন্ট বলতে আমি এখানে বুঝাতে চাচ্ছি এমন কিছু কোড যা আপনার প্রোগ্রামকে নিয়ন্ত্রন করবে। অথবা বলা যায় আপনি আপনার কম্পিউটার কে সিদ্ধান্ত নিতে সাহায্য করতে পারবেন এই কন্ট্রল স্টেটমেন্ট এর সাহায্যে।
যেমন ধরুন কেউ আপনাকে একটা সংখা দিয়ে বলল যে বলতো দেখি সঙ্খাটি জোড় নাকি বিজোড়? তাহলে আপনার মাথায় এই রকম একটা চিন্তা আসবে যে সংখা টি যদি ২ দিয়ে ভাগ যায় তাহলে সেটা জোড় সংখা না হয় তা বিজোড় সংখা।কিন্তু যদি এই একই জিনিসটা কম্পিউটার দিয়ে করতে বলা হয় তাহলে কিভাবে করবেন? আমাদের একটা জিনিস মাথায় রাখতে হবে কম্পিউটার খুব বোকা একটা যন্ত্র।আমরা মানুষ একে চালাক বানাবো। একে সিধান্ত নিতে শিখাবো। আসুন তাহলে আমরা এই প্রব্লেমটার ই জাভাতে কিভাবে করবেন তা দেখে নেই।
public class microsoft { public static void main(String[] args) { int i=10; if(i%2==0) { System.out.println("The number is even"); } else { System.out.println("The number is odd"); } } }
উপরের প্রোগ্রামটির দিকে লহ্ম্য করলে আমরা দেখতে পারব যে,প্রথমে একটি ভেরিয়েবল i এ ১০ কে স্টোর করা হয়েছে। তারপর একটি শর্ত যুরে দেয়া হয়েছে যে যদি তা ২ দিয়ে ভাগকরলে ভাগশেষ ০ হয় তাহলে সংখাটি জোড় না হয় বেজোড়। এখানে যদি if দিয়ে এবং না হয় else দিয়ে বুঝানো হয়েছে। এখন আপনারা ১০ এর পরিবর্তে কোন বিজোড় সংখা দিয়েও জিনিসটা দেখতে পারেন। এটা অনেক সাধারন একটা সমস্যা ছিল। যদি কখনও এমন হয় যে একটি সমস্যার সমাধানের জন্য অনেক গুলো শর্ত থাকে তাহলে সেহ্মেত্রে প্রথম্বার if দিয়ে পরের প্রতিবারের জন্য else if লাগাতে হবে এবং একেবারে শেষবারের জন্য শুধু else লাগাতে হবে। এরকম একটি কোড এর Syntax নিচে দেয়া হলঃ
এছাড়া জাভাতে nested if বলে একটা কথা আছে। এই যেমন যদি কখনো শর্তের মধ্যে আবার শর্ত আসে তাহলে if{ } এর মধ্যে if{},else if{},else{} ব্যবহার করা যাবে। কিন্তু অবশ্যিই বন্ধনি”{” “}” গুলোর দিকে খেয়াল রাখতে হবে যাতে ওলট পালট হয়ে না যায়। নিচে Syntax দেখানো হলঃ
এখন আমরা জাভাতে Switch case নিয়ে আলাপ আলোচনা করব। এটিও একটি বিশেষ ধরনের কন্ট্রল স্টেটমেন্ট। এটি দিয়ে কিভাবে কাজ করানো যায় তা আমরা একটু দেখি।
public class facebook { public static void main(String[] args) { String i="March"; switch(i) { case "january": System.out.println("I contains January"); break; case "february": System.out.println("i contains February"); break; case "March": System.out.println("i contains March"); break; default: System.out.println("i contains a normal String"); } } }
এখানে প্রথমে i এর ভিতর “March” কে নেওয়া হয়েছে। বলে রাখা ভাল এখানে I এর ডাটা টাইপ হল string । তারপর switch case শুরু করা হয়েছে । switch case ব্যবহার এর নিয়ম হল যেই ভেরিয়েবল টি আমরা চেক করতে চাই ওইটা switch এর parameter হিসাবে switch() এর ভিতর দিতে হবে যেমন এখানে আমরা দিয়েছি switch(i) কারণ আমরা i কে চেক করতে চাই। তারপর case লিখে স্পেস দিয়ে ওইসব মান দিতে হবে যা দিয়ে আপনি চেক করতে চান তাকি আপনার শর্তগুলো মানে নাকি। যদি মানে তাহলে তা একটি নির্দিস্ট কাজ করবে এবং পরে তা থেকে বেরিয়ে আসবে break এর সাহায্যে। যেমন আমি এখানে চেক করেছি i এর মান “March” হলে তা প্রিন্ট করবে “I contains March” আর যদি i এর মান হয় January তাহলে প্রিন্ট করবে “I contains January” আর যদি i এর মান হয় February তাহলে প্রিন্ট করবে “I contains February” আর যদি ৩ টির একটিও i এর মান না হয় তাহলে তা প্রিন্ট করবে “I contains a normal string”।
এখন নিম্নের প্রব্লেম গুলো চেস্টা করুন।
১) একটি বছর একটি ভেরিয়েবল এ নিন যেমন i=1992, এখন বের করুন এই বছরটি কি লিপ ইয়ার নাকি লিপ ইয়ার না। যেমন
Leap year হলে প্রিন্ট করবে “This year is Leap year” আর না হলে প্রিন্ট করবে “Sorry,this year is not Leap year” । এটি করবেন if, else ব্যবহার করে।
২)ঊপরের দেখানো Switch case এর প্রব্লেমটি if else দিয়ে implement করুন।
আর Herbert Schildts এর বই এর ৫ম অধ্যায়টা পারলে পইরেন।
Happy Programming
আমি wahid63। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 16 টি টিউন ও 40 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ধন্যবাদ ভাই