বর্তমানে 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 “বাংলায় ডার্ট প্রোগ্রামিং: অপারেটর”