Lesson ২৬ মিনিট পড়া
অপারেটর এবং এক্সপ্রেশন (Operators & Expressions)
প্রতিটি সিদ্ধান্তের পেছনের সাধারণ গণিত এবং যুক্তি
অপারেটর — জাভার টুলবক্স (Operators — Java's Toolbox)
অপারেটর (Operators) হলো আপনার কোডের ক্রিয়াপদ (verbs)। ভ্যারিয়েবলগুলো ডেটাকে নিজের ভেতরে ধরে রাখে, কিন্তু এই ডেটা নিয়ে কী কাজ হবে তা ঠিক করে দেয় অপারেটরগুলো — যোগ করা, মেলানো বা তুলনা করা, একত্র করা, নাকি উল্টে দেওয়া ইত্যাদি। এদেরকে ক্যালকুলেটরের বোতামের মতো ভাবতে পারেন, তবে এগুলো ক্যালকুলেটরের চেয়ে অনেক বেশি শক্তিশালী।
জাভাতে কয়েক ধরণের অপারেটর পরিবার রয়েছে:
- অ্যারিথমেটিক (Arithmetic) বা গাণিতিক — গণিতের কাজ:
+-*/% - রিলেশনাল (Relational) বা সম্পর্কযুক্ত — তুলনা করার কাজ:
==!=<><=>= - লজিক্যাল (Logical) বা যৌক্তিক — সত্য অথবা মিথ্যা একত্র করার কাজ:
&&||! - অ্যাসাইনমেন্ট (Assignment) বা নির্দিষ্ট করা — ফলাফল সংরক্ষণ করার কাজ:
=+=-=*= - ইনক্রিমেন্ট/ডিক্রিমেন্ট (Increment/Decrement) বা মান বৃদ্ধি ও হ্রাস করা — চটজলদি +১ বা -১ যোগ বা বিয়োগ করা:
++--
গাণিতিক হিসাব এবং ইনটিজার ডিভিশনের ফাঁকি (Arithmetic & the Sneaky Integer Division)
রিলেশনাল এবং লজিক্যাল অপারেটর (Relational & Logical Operators)
রিলেশনাল বা সম্পর্কযুক্ত অপারেটরগুলো হ্যাঁ-অথবা-না ভিত্তিক প্রশ্ন করে এবং আপনাকে true (হ্যাঁ) অথবা false (না) উত্তর হিসেবে দেয়। যেমন, "৫ কি ৩ এর চেয়ে বড়?" → উত্তর হলো true।
লজিক্যাল বা যৌক্তিক অপারেটরগুলো এই উত্তরগুলোকে একত্র করে বা মেলায় (combine):
&&(এবং/AND) — এক্ষেত্রে উভয় পাশকেই সত্য (true) হতে হবে। এটি অনেকটা কোনো জায়গায় ঢোকার জন্য অবশ্যই টিকিট এবং (AND) আইডি — দুটিই সাথে থাকার মতো ব্যাপার।||(অথবা/OR) — এক্ষেত্রে অন্তত যেকোনো এক পাশকে সত্য (true) হতে হবে। এটি অনেকটা এমন কোনো দোকানের মতো, যেখানে নগদ টাকা অথবা (OR) বিকাশ — যেকোনো একটি গ্রহণ করা হয়।!(না/NOT) — এটি সত্যকে (true) মিথ্যা (false) করে দেয় এবং মিথ্যাকে সত্য করে দেয়। এটি অনেকটা "উল্টো করা বা বিপরীত কাজ করার" সুইচের মতো।
তুলনা করা ও যুক্তির ব্যবহার (Comparisons & Logic in Action)
টারনারি (Ternary) অপারেটর এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট
Note: সবসময়
== এবং = এর মধ্যকার পার্থক্যটি খেয়াল রাখবেন! একটি মাত্র = এর অর্থ হলো "এই জিনিসটিকে খালি বাক্সে রাখো" বা অ্যাসাইন (assign) করো। আর জোড়া বা দুটি == এর অর্থ হলো "এই দুটি জিনিস কি একে অপরের সমান?" এটি যাচাই বা চেক করা। এই দুটির মধ্যে গুলিয়ে ফেলা নতুনদের অন্যতম সাধারণ একটি ভুল বা বাগ (bug)। আর হ্যাঁ, মনে রাখবেন: স্ট্রিংয়ের (Strings) ক্ষেত্রে তুলনা করার জন্য সবসময় == এর বদলে .equals() ব্যবহার করবেন।চ্যালেঞ্জ