عملگر ها در دارت
در زبان برنامه نویسی دارت، عملگرها بلوکهای کد کوچکی هستند که برای انجام عملیات مختلف بر روی دادهها یا عبارات استفاده میشوند.
انواع مختلفی از عملگرها در دارت وجود دارد که هر کدام کارکرد خاص خود را دارند. به طور کلی، عملگرها را میتوان به دستههای زیر تقسیم کرد:
1. عملگرهای حسابی:
این عملگرها برای انجام محاسبات ریاضی پایه مانند جمع، تفریق، ضرب، تقسیم، باقیمانده و … استفاده میشوند.
-
+: جمعاین عملگر برای جمع کردن دو یا چند عدد استفاده میشود.
int sum = 10 + 5; // 15 -
-: تفریقاین عملگر برای تفریق دو عدد استفاده میشود.
int difference = 10 - 5; // 5
-
*: ضرباین عملگر برای ضرب دو عدد استفاده میشود.
int product = 10 * 5; // 50 -
/: تقسیماین عملگر برای تقسیم دو عدد استفاده میشود. نوع نتیجه به نوع دادههای ورودی بستگی دارد. اگر هر دو عدد از نوع int باشند، نتیجه نیز از نوع int خواهد بود و بخش اعشاری آن حذف میشود. اگر حداقل یکی از اعداد از نوع double باشد، نتیجه نیز از نوع double خواهد بود.
int quotient = 10 / 5; // 2
double decimalQuotient = 10.0 / 5; // 2.0 -
~/: تقسیم با باقیماندهاین عملگر برای تقسیم دو عدد و بدست آوردن باقیمانده استفاده میشود. نوع نتیجه همیشه از نوع int است.
int remainder = 10 ~/ 5; // 2 -
%: باقیماندهاین عملگر برای بدست آوردن باقیمانده تقسیم دو عدد استفاده میشود. نوع نتیجه به نوع دادههای ورودی بستگی دارد. اگر هر دو عدد از نوع int باشند، نتیجه نیز از نوع int خواهد بود. اگر حداقل یکی از اعداد از نوع double باشد، نتیجه نیز از نوع double خواهد بود.
int remainder = 10 % 5; // 0
double decimalRemainder = 10.0 % 5; // 0.0 -
++: افزایشاین عملگر برای افزایش مقدار یک متغیر به اندازه 1 واحد استفاده میشود. میتوان از آن به صورت پیشوندی یا پسوندی استفاده کرد.
-
--: کاهشاین عملگر برای کاهش مقدار یک متغیر به اندازه 1 واحد استفاده میشود. میتوان از آن به صورت پیشوندی یا پسوندی استفاده کرد.
2. عملگرهای مقایسهای:
عملگرهای مقایسهای در زبان برنامهنویسی دارت برای مقایسه دو عبارت یا مقدار با یکدیگر استفاده میشوند. این عملگرها نتایج خود را به صورت مقادیر بولین (true یا false) برمیگردانند.
==: مساوی!=: نامساوی>: بزرگتر از<: کوچکتر از>=: بزرگتر یا مساوی<=: کوچکتر یا مساوی
int x = 10;
int y = 5;
bool is_equal = x == y; // is_equal = false
bool is_not_equal = x != y; // is_not_equal = true
bool is_greater = x > y; // is_greater = true
bool is_less = x < y; // is_less = false
bool is_greater_or_equal = x >= y; // is_greater_or_equal = true
bool is_less_or_equal = x <= y; // is_less_or_equal = false
نکات:
عملگرهای مقایسهای میتوانند برای مقایسه انواع مختلف دادهها، از جمله اعداد، رشتهها و اشیاء استفاده شوند.
هنگام مقایسه رشتهها، حروف با توجه به ترتیب حروف الفبا در زبان انگلیسی مقایسه میشوند.
میتوان از عملگرهای مقایسهای در عبارات شرطی و حلقههای for استفاده کرد.
برای بررسی اینکه یک متغیر null است یا خیر، میتوان از عملگرهای == null و != null استفاده کرد.

3. عملگرهای منطقی:
این عملگرها برای انجام عملیات منطقی بر روی مقادیر بولین (true یا false) استفاده میشوند.
-
&&: و (and)این عملگر زمانی که هر دو شرط در آن true باشند، مقدار true را برمیگرداند. به عبارت دیگر، برای اینکه نتیجه این عملگر true باشد، هر دو شرط باید درست باشند.
bool isStudent = true;
bool isEnrolled = true;bool canTakeExam = isStudent && isEnrolled;
print(canTakeExam); // Output: true
-
||: یا (or)این عملگر زمانی که حداقل یکی از شرایط در آن true باشد، مقدار true را برمیگرداند. به عبارت دیگر، برای اینکه نتیجه این عملگر true باشد، فقط کافی است یکی از شرایط درست باشد.
bool isStudent = true;
bool isEnrolled = false;bool canTakeExam = isStudent || isEnrolled;
print(canTakeExam); // Output: true
-
!: نه (not)این عملگر مقدار بولین یک عبارت را معکوس میکند. به عبارت دیگر، اگر عبارت true باشد، ! آن را به false تبدیل میکند و برعکس.
bool isStudent = true;
bool isNotStudent = !isStudent;
print(isNotStudent); // Output: false
اولویت عملگرهای منطقی در دارت به شرح زیر است: !، &&، ||.
میتوان از پرانتز برای تغییر ترتیب اجرای عملگرهای منطقی استفاده کرد.
عملگرهای منطقی در عبارات شرطی، حلقهها و سایر موقعیتهایی که نیاز به تصمیمگیری بر اساس شرایط دارند، بسیار پرکاربرد هستند.
4. عملگرهای انتسابی:
در زبان برنامه نویسی دارت، عملگرهای انتسابی برای انتساب مقادیر به متغیرها استفاده میشوند.
انواع مختلفی از عملگرهای انتسابی در دارت وجود دارد که هر کدام کارکرد خاص خود را دارند.
-
=: انتساب ساده –int x = 10; // متغیر x را به عدد 10 انتساب میدهد
String y = “Hello”; // متغیر y را به رشته “Hello” انتساب میدهد -
+=: جمع انتسابیعملگر
+=برای جمع کردن یک مقدار به یک متغیر و سپس انتساب نتیجه به همان متغیر استفاده میشود.int x = 10;
x += 5; // مقدار x را به 15 افزایش میدهد (x = 10 + 5) -
-=: تفریق انتسابیعملگر
-=برای کم کردن یک مقدار از یک متغیر و سپس انتساب نتیجه به همان متغیر استفاده میشود.int x = 10;
x -= 5; // مقدار x را به 5 کاهش میدهد (x = 10 – 5) -
*=: ضرب انتسابیعملگر
*=برای ضرب کردن یک مقدار در یک متغیر و سپس انتساب نتیجه به همان متغیر استفاده میشود.int x = 10;
x *= 2; // مقدار x را به 20 افزایش میدهد (x = 10 * 2) -
/=: تقسیم انتسابیعملگر
/=برای تقسیم کردن یک متغیر بر یک مقدار و سپس انتساب نتیجه به همان متغیر استفاده میشود.int x = 10;
x /= 2; // مقدار x را به 5 کاهش میدهد (x = 10 / 2) -
~/=: تقسیم با باقیمانده انتسابیعملگر
~/=برای بدست آوردن باقیمانده تقسیم کردن یک متغیر بر یک مقدار و سپس انتساب نتیجه به همان متغیر استفاده میشود.int x = 10;
x ~/= 3; // مقدار x را به 1 باقیمانده تقسیم 10 بر 3 تبدیل میکند (x = 10 ~/ 3) -
??=: انتساب در صورت null بودنعملگر
??=برای انتساب یک مقدار به یک متغیر در صورتی که آن متغیر null باشد، استفاده میشود.int? x;
x ??= 10; // اگر x null باشد، مقدار 10 به آن انتساب داده میشود// معادل:
if (x == null) {
x = 10;
}
5. عملگرهای شرطی:
این عملگرها برای تعیین اینکه کدام بلوک کد باید اجرا شود، بر اساس یک شرط استفاده میشوند.
-
?: عملگر سهگانهاین عملگر به شما امکان میدهد تا در یک خط کد، یک شرط را بررسی کنید و بر اساس نتیجه آن، دو مقدار مختلف را به یک متغیر یا عبارت انتساب دهید.
متغیر = شرط ? مقدار_در_صورت_درست : مقدار_در_صورت_غلط;
در مثال بالا،
متغیرمقدارمقدار_در_صورت_درسترا خواهد گرفت اگرشرطtrueباشد، در غیر این صورت مقدارمقدار_در_صورت_غلطرا خواهد گرفت. -
if: شرطاین دستور به شما امکان میدهد تا چندین بلوک کد را بر اساس یک شرط یا چند شرط اجرا کنید.
if (شرط) {
// کدهایی که در صورت درست بودن شرط اجرا میشوند
} else {
// کدهایی که در صورت غلط بودن شرط اجرا میشوند
}همچنین میتوانید از دستور
else ifبرای بررسی چندین شرط به طور متوالی استفاده کنید.ساختار کلی دستور
else ifبه صورت زیر است:if (شرط1) {
// کدهایی که در صورت درست بودن شرط1 اجرا میشوند
} else if (شرط2) {
// کدهایی که در صورت درست بودن شرط2 اجرا میشوند
} else {
// کدهایی که در صورت غلط بودن تمام شرایط اجرا میشوند
}نکات مهم:
- در داخل پرانتزهای شرط (
ifوelse if)، میتوانید از هر عبارتی که مقدارtrueیاfalseرا برمیگرداند استفاده کنید. - میتوانید از چندین دستور
ifوelse ifبه طور متوالی استفاده کنید. - دستور
elseاختیاری است و فقط در صورتی استفاده میشود که بخواهید کدهایی را در صورت غلط بودن تمام شرایط اجرا کنید. - برای آشنایی بیشتر با عملگرهای شرطی، میتوانید به مستندات رسمی زبان دارت مراجعه کنید.
- در داخل پرانتزهای شرط (
نکات مهم:
- هر عملگر اولویت خاص خود را دارد.
- میتوان از پرانتز برای تغییر ترتیب اجرای عملگرها استفاده کرد.
- برخی از عملگرها نیاز به دو یا چند آرگومان دارند، در حالی که برخی دیگر فقط به یک آرگومان نیاز دارند.