বর্তমানে Dart একটি জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা ফ্লাটার অ্যাপ ডেভেলপমেন্টে ব্যাপকভাবে ব্যবহৃত হয়। Dart-এ বিভিন্ন ধরনের অপারেটর রয়েছে, যা ভেরিয়েবল, মান, এবং এক্সপ্রেশনগুলির মধ্যে অপারেশন করতে সাহায্য করে। এই ব্লগে, আমরা Dart-এর বিভিন্ন অপারেটরগুলি নিয়ে আলোচনা করব।
1. অ্যারিথমেটিক অপারেটর (Arithmetic Operators)
অ্যারিথমেটিক অপারেটরগুলি গাণিতিক প্রয়োগ করতে ব্যবহৃত হয়। যেমন:
+
(যোগ): দুটি সংখ্যা যোগ করে।-
(বিয়োগ): একটি সংখ্যা থেকে অন্য সংখ্যা বিয়োগ করে।*
(গুণ): দুটি সংখ্যা গুণ করে।/
(ভাগ): একটি সংখ্যাকে অন্য সংখ্যা দিয়ে ভাগ করে (ফলাফল ডবল টাইপে)।%
(মডুলাস): ভাগশেষ বের করে।~/
(ইন্টিজার ভাগ): ভাগফল ইন্টিজার টাইপে রিটার্ন করে।
উদাহরণ:
void main() {
int a = 10;
int b = 3;
print(a + b); // 13
print(a - b); // 7
print(a * b); // 30
print(a / b); // 3.333...
print(a % b); // 1
print(a ~/ b); // 3
}
2. রিলেশনাল অপারেটর (Relational Operators)
রিলেশনাল অপারেটরগুলি দুটি মানের মধ্যে তুলনা করতে ব্যবহৃত হয়। এগুলি বুলিয়ান (true
বা false
) মান রিটার্ন করে।
==
(সমান): দুটি মান সমান হলেtrue
রিটার্ন করে।!=
(সমান নয়): দুটি মান সমান না হলেtrue
রিটার্ন করে।>
(বড়): প্রথম মান দ্বিতীয় মানের থেকে বড় হলেtrue
রিটার্ন করে।<
(ছোট): প্রথম মান দ্বিতীয় মানের থেকে ছোট হলেtrue
রিটার্ন করে।>=
(বড় বা সমান): প্রথম মান দ্বিতীয় মানের থেকে বড় বা সমান হলেtrue
রিটার্ন করে।<=
(ছোট বা সমান): প্রথম মান দ্বিতীয় মানের থেকে ছোট বা সমান হলেtrue
রিটার্ন করে।
উদাহরণ:
void main() {
int x = 10;
int y = 20;
print(x == y); // false
print(x != y); // true
print(x > y); // false
print(x < y); // true
print(x >= y); // false
print(x <= y); // true
}
3. লজিক্যাল অপারেটর (Logical Operators)
লজিক্যাল অপারেটরগুলি একাধিক শর্ত যাচাই করতে ব্যবহৃত হয়। এগুলি সাধারণত কন্ডিশনাল স্টেটমেন্টে ব্যবহৃত হয়।
&&
(AND): দুটি শর্তই সঠিক হলেtrue
রিটার্ন করে।||
(OR): যেকোনো একটি শর্ত সঠিক হলেtrue
রিটার্ন করে।!
(NOT): শর্তের মান উল্টে দেয় (সঠিক হলে মিথ্যা, মিথ্যা হলে সত্য)।
উদাহরণ:
void main() {
bool a = true;
bool b = false;
print(a && b); // false
print(a || b); // true
print(!a); // false
}
4. অ্যাসাইনমেন্ট অপারেটর (Assignment Operators)
অ্যাসাইনমেন্ট অপারেটরগুলি ভেরিয়েবলে মান অ্যাসাইন করতে ব্যবহৃত হয়।
=
(সাধারণ অ্যাসাইনমেন্ট): ডান পাশের মান বাম পাশের ভেরিয়েবলে অ্যাসাইন করে।+=
,-=
,*=
,/=
(কম্পাউন্ড অ্যাসাইনমেন্ট): গাণিতিক অপারেশন এবং অ্যাসাইনমেন্ট একসাথে করে।
উদাহরণ:
void main() {
int a = 10;
a += 5; // a = a + 5
print(a); // 15
a -= 3; // a = a - 3
print(a); // 12
a *= 2; // a = a * 2
print(a); // 24
a ~/= 4; // a = a ~/ 4
print(a); // 6
}
5. ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর (Increment and Decrement Operators)
এই অপারেটরগুলি ভেরিয়েবলের মান ১ বৃদ্ধি বা হ্রাস করতে ব্যবহৃত হয়।
++
(ইনক্রিমেন্ট): মান ১ বৃদ্ধি করে।--
(ডিক্রিমেন্ট): মান ১ হ্রাস করে।
উদাহরণ:
void main() {
int a = 10;
a++; // a = a + 1
print(a); // 11
a--; // a = a - 1
print(a); // 10
}
6. কন্ডিশনাল অপারেটর (Conditional Operator)
কন্ডিশনাল অপারেটর (?:
) একটি শর্টহ্যান্ড উপায়ে কন্ডিশন যাচাই করে দুটি মানের মধ্যে একটি রিটার্ন করে।
সিনট্যাক্স:
condition ? expression1 : expression2;
উদাহরণ:
void main() {
int a = 10;
int b = 20;
int result = (a > b) ? a : b;
print(result); // 20
}
7. টার্নারি অপারেটর (Ternary Operator)
টার্নারি অপারেটরটি কন্ডিশনাল অপারেটরের মতোই কাজ করে। এটি তিনটি অপারেন্ড নেয় এবং কন্ডিশন অনুযায়ী মান রিটার্ন করে।
উদাহরণ:
void main() {
int age = 18;
String status = (age >= 18) ? "Adult" : "Minor";
print(status); // Adult
}
8. টাইপ টেস্ট অপারেটর (Type Test Operators)
টাইপ টেস্ট অপারেটরগুলি একটি ভেরিয়েবলের টাইপ চেক করতে ব্যবহৃত হয়।
is
: ভেরিয়েবলটি নির্দিষ্ট টাইপ হলেtrue
রিটার্ন করে।is!
: ভেরিয়েবলটি নির্দিষ্ট টাইপ না হলেtrue
রিটার্ন করে।
উদাহরণ:
void main() {
var a = 10;
print(a is int); // true
print(a is! String); // true
}
9. বিটওয়াইজ অপারেটর (Bitwise Operators)
বিটওয়াইজ অপারেটরগুলি বাইনারি লেভেলে অপারেশন পারফর্ম করে।
&
(AND): দুটি বাইনারি সংখ্যার AND অপারেশন করে।|
(OR): দুটি বাইনারি সংখ্যার OR অপারেশন করে।^
(XOR): দুটি বাইনারি সংখ্যার XOR অপারেশন করে।~
(NOT): বাইনারি সংখ্যার NOT অপারেশন করে।<<
(Left Shift): বাইনারি সংখ্যাকে বাম দিকে শিফট করে।>>
(Right Shift): বাইনারি সংখ্যাকে ডান দিকে শিফট করে।
উদাহরণ:
void main() {
int a = 5; // 0101 in binary
int b = 3; // 0011 in binary
print(a & b); // 1 (0001)
print(a | b); // 7 (0111)
print(a ^ b); // 6 (0110)
print(~a); // -6 (2's complement)
print(a << 1); // 10 (1010)
print(a >> 1); // 2 (0010)
}
10. ক্যাসকেডিং অপারেটর (Cascade Operator)
ক্যাসকেডিং অপারেটর (..
) একই অবজেক্টে একাধিক অপারেশন চেইন করতে ব্যবহৃত হয়।
উদাহরণ:
class Person {
String? name;
int? age;
void display() {
print("Name: $name, Age: $age");
}
}
void main() {
Person()
..name = "John"
..age = 25
..display(); // Name: John, Age: 25
}
Dart-এ বিভিন্ন ধরনের অপারেটর রয়েছে, যা প্রোগ্রামিংকে সহজ করে তোলে। এই অপারেটরগুলি বুঝে নিলে আপনি Dart-এ আরও দক্ষ হয়ে উঠবেন। আশা করি, এই ব্লগটি আপনাকে Dart অপারেটরগুলি বুঝতে সাহায্য করবে।
হ্যাপি কোডিং! 😊
1 thought on “বাংলায় ডার্ট প্রোগ্রামিং: অপারেটর”