آموزش دونه:مرجع آموزش

انواع عملگرها( Operators)و تقدم عملگرها در آموزش برنامه نویسی اندروید Android

عملگرها :

عملگر ها نمادهایی هستند که اعمال خاصی را انجام می دهند .به عنوان مثال نماد +عملگری است که دو مقدار را با هم جمع می کند (عمل جمع را انجام می دهد )پس از تعریف متعیرها ومقدار دادن به آنها باید بتوان عملیاتی را روی آن انجام داد .برای انجام این عملیات باید از عملگر ها استفاده کرد .عملگرها در اندروید به چند دسته تقسیم می شوند :۱-عملگرهای محاسباتی ۲-عملگرهای رابطه ایی ۳-عملگرهای منطقی ۴-عملگرهای بیتی java operators

  1. عملگرهای محاسباتی android operators 
  2. عملگرهای رابطه ای android operators 
  3. عملگرهای منطقی android operators 
  4. عملگرهای بیتی android operators  
  5. عملگرهای ترکیبیandroid  operators 

 android operators android operators  android operators

عملگرها برروی یک یا دو مقدار عمل می کنند مقادیری راکه عملگرهابرروی آنها عمل می کنند عملوند گویند  .


عملگرهای محاسباتی android operators


عملگرهای محاسباتی عملگرهایی هستند که اعمال محاسباتی راروی روی عملوندها انجام می دهند .هریک ازعملگرهای- .+. *. /. تقریبا در همه زبانها وجود دارد .عملگر % برای محاسبه باقی مانده تقسیم به کار می رود .این عملگر عملوند اول را بر عملوند دوم تقسیم می کند (تقسیم صحیح ) و باقی مانده را بر می گرداند .

۱٫ عملگر +: برای جمع دو عدد استفاده می شود:

۲٫ عملگر –: عملیات تفریق را انجام می دهد:

۳٫ عملگر *: عملیات ضرب را انجام می دهد:

۴٫ عملگر /: عملیات تقسیم را انجام می دهد:

در صورتی که عملوند دوم تقسیم صفر باید با خطای DivideByZero روبرو خواهیم شد. زیرا تقسیم بر صفر مجاز نمی باشد.

۵٫ عملگر %: باقیمانده تقسیم دو عدد را برای ما بر می گرداند:

۶٫ عملگر ++: این عملگر به مقدار موجود یک عدد اضافه می کند:

کد بالا معادل کد زیر است:

۷٫ عملگر –: این عملگر از مقدار موجود یک عدد کم می کند:

کد بالا معادل کد زیر است:


عملگرهای رابطه ای


عملگرهای رابطه ای ارتباط بین عملوندها را مشخص می کنند. اعمالی مثل تساوی دو مقدار . کوچکتر یا بزرگتر بودن .مقایسه با صفر و غیره توسط عملگرهای رابطه ای مشخص می شود .در مورد عملگرهای رابطه ای شاید با عملگر= = آشنایی نداشته باشید .این عملگر در دستورات شرطی برای مقایسه دو مقدار مورد استفاده قرار می گیرد.

مثال

نام

عملگرها

x>y

بزرگتر

<

x>=y

بزرگتریا مساوی

>=

X<y

کوچکتر

<

X<=y

کوچکتر یا مساوی

<=

X= =y

متساوی

= =

X!=y

نا مساوی

!=

۱٫ عملگر ==: این عملگر بررسی می کند که دو عبارت با هم برابر هستند یا خیر. در صورت برابر بودن مقدار true و در غیر اینصورت مقدار false بر می گرداند:

۲٫ عملگر =!: این عملگر بررسی می کند که دو عبارت مخالف یکدیگر هستند یا خیر:

۳٫ عملگر >: این عملگر در صورتی true بر میگرداند که عملوند سمت چپ کوچکتر از عملوند سمت راست باشد در غیر اینصورت مقدار false بر می گرداند:

۳٫ عملگر =>: این عملگر در صورتی true بر میگرداند که عملوند سمت چپ کوچکتر یا مساوی عملوند سمت راست باشد در غیر اینصورت مقدار false بر می گرداند:

۴٫ عملگر <: این عملگر در صورتی true بر میگرداند که عملوند سمت چپ بزرگتر از عملوند سمت چپ باشد:

۵٫ عملگر =<: این عملگر در صورتی true بر میگرداند که عملوند سمت چپ بزرگتر یا مساوی از عملوند سمت راست باشد:


عملگرهای ترکیبی


از ترکیب عملگرهای محاسباتی و علامت = مجموعه دیگری از عملگرها ایجاد می شود که عمل محاسباتی و انتساب را انجام دهند .

مثال

نام

عملگر

X+=y

انتساب جمع

= +

x-=y

انتساب تفریق

= –

X*=y

انتساب ضرب

= *

x/=y

انتساب تقسیم

= /

X%=y

انتساب باقیمانده

= %


عملگرهای منطقی


عملگرهای منطقی برروی عبارات منطقی عمل می کنند .عبارات منطقی دارای دو ارزش درستی یا نادرستی هستند.که در اندروید ارزش نادرستی با مقدار صفر وارزش درستی با مقدار غیر صفر مشخص می شود .نتیجه عملگر ! وقتی درست است که عملوند آن دارای ارزش نادرستی باشد .نتیجه عملگر && وقتی درست است که هر دو عملوند ارزش درستی داشته باشد ونتیجه عملگر ۱۱ وقتی نادرست است که هر دو عملوند ارزش نادرستی داشته باشد (در بقیه موارد نتیجه آن ارزش درستی دارد.)

مثال

نام

عملگر

!x

نقیض(not)

!

x>y&&m<p

(and)و

&&

x>y11m<p

یا(or)

۱۱

۱٫ عملگر &&: این عملگر یا AND در صورتی مقدار True بر می گرداند که هر دو عملوند مقدار true بر گردانند:

دقت کنید که num1 بزرگتر از ۱۰ می باشد، پس نتیجه true است، همچنین num2 کوچکتر از ۲۰ است، پست نتیجه این بخش هم true است، و true && true مقدار true بر می گرداند. حالت های مختلف && را زیر مشاهده می کند:

۲٫ عملگر ||: این عملگر یا OR در صورتی مقدار True بر می گرداند که یکی از عملوندها نتیجه true داشته باشد:

دقت کنید که num1 بزرگتر از ۱۰ می باشد، پس نتیجه true است، اما num2 بزرگتر از ۲۰ نیست، پست نتیجه این false است، در نتیجه true

را زیر مشاهده می کند:

۳٫ عملگر !: این عملگر یا NOT، نتیجه یک عبارت Boolean را برعکس می کند، یعنی اگر یک عبارت نتیجه true برگرداند، این عملگر نتیجه را به false تبدیل می کند:

عملگرهای بیتی


وجود عملگرهای بیتی در اندروید موجب شد تا بسیاری از کارهای زبان اسمبلی در اندروید انجام شود . عملگرهای بیتی برای تست کردن مقدار دادن یا شیفت دادن و سایر اعمال بر روی مقادیری که در یک بایت یا کلمه ذخیره شده به کار می روند .

۱٫ عملگر &: در قسمت عملگرهای رابطه ای در مورد عملگر && صحبت کردیم و گفتیم در صورتی که هر دو طرف عملگر true باشند، خروجی true خواهد بود. حال، برای عملگر & در صورتی که هر دو بیت ۱ باشند، خروجی ۱ خواهد بود. در غیر اینصورت خروجی ۰ خواهد شد. نام این عملگر AND می باشد. مثال را مبتنی بر معادل باینری اعداد ۲ و ۶ که در بالا در مورد آنها صحبت کردیم، بررسی خواهیم کرد:

همانطور که مشاهده می کنید، تنها بیت وسط یا دوم که هر دو بیت ۱ هستند، ۱ شده و در نتیجه خروجی ما، عدد ۲ خواهد بود. کد :

۲٫ عملگر |: نام دیگر این عملگر OR می باشد و خروجی آن، در صورتی که یکی از بیت ها معادل ۱ باشد، ۱ خواهد بود، در غیر اینصورت بیت نتیجه ۰ خواهد شد:

همانطور که مشاهده می کنید، نتیجه OR بیت های سوم و دوم که۱ هستند، ۱ شده و در نتیجه خروجی ما، عدد ۶ خواهد بود. کد :

۳٫ عملگر ^: نام دیگر این عملگر XOR می باشد و بیت خروجی در صورتی ۱ خواهد بود که بیت های معادل با یکدیگر تفاوت داشته باشند:

کد :

سایر عملگر های بیتی به صورت خلاصه عبارتند از:

  1. عملگر ~: کار مکمل یک در سیستم باینری را انجام می دهد.
  2. عملگر >>: عملیات شیفت به چپ را انجام می دهد.
  3. عملگر <<: عملیات شیفت به راست را انجام می دهد.

عملگرهای ترکیبی


از ترکیب عملگرهای محاسباتی و علامت = مجموعه دیگری از عملگرها ایجاد می شود که عم محاسباتی و انتساب را انجام دهند .

مثالنام

عملگر

X+=y

انتساب جمع

= +

x-=y

انتساب تفریق

= –

X*=y

انتساب ضرب

= *

x/=y

انتساب تقسیم

= /

X%=y

انتساب باقیمانده

= %

عملگرهای انتساب جهت ریختن مقدار داخل یک متغیر و یا تغییر مقدار آن استفاده می شوند. در این قسمت به بررسی عملگرهای انتساب خواهیم پرداخت:

۱٫ عملگر =: عملیات انتساب ساده را انجام می دهد. یعنی مقدار سمت راست را داخل عملوند سمت چپی قرار می دهد که نمونه آن را در مثال بالا دیدیم.

۲٫ عملگر =+: این عملگر، مقدار سمت را به مقدار موجود عملوند سمت چپ اضافه کرده و نتیجه را داخل عملوند سمت چپ میریزد:

۳٫ عملگر =-: این عملگر، مقدار سمت را از مقدار موجود عملوند سمت چپ کم کرده و نتیجه را داخل عملوند سمت چپ میریزد:

۴٫ عملگر =*: این عملگر، مقدار سمت را در مقدار موجود عملوند سمت چپ ضرب کرده و نتیجه را داخل عملوند سمت چپ میریزد:

۵٫ عملگر =/: این عملگر، مقدار سمت را از مقدار موجود عملوند سمت چپ تقسیم کرده و نتیجه را داخل عملوند سمت چپ میریزد:

۶٫ عملگر =%: این عملگر، باقیمانده تقسیم عملوند سمت چپ بر مقدار سمت راست را در عملوند سمت چپ میریزد:

سایر عملگرهای انتسابی به شرح زیر می باشند:

  1. عملگر =>>: شیفت به چپ و انتساب
  2. عملگر =<<: شیفت به راست و انتساب
  3. عملگر =&: انجام عملیات AND بیتی و انتساب
  4. عملگر =|: انجام عملیات OR بیتی و انتساب
  5. عملگر =^: انجام عملیات XOR بیتی و انتساب

حق تقدم عملگرها android operators android operators


یکی از مباحثی که زمان نوشتن برنامه ها، باید به آن خیلی توجه کرد حق تقدم عملگرها می باشد. در عبارتی که چندین عملگر در آن استفاده شده باشد، انجام عملیات ها بر اساس حق تقدم عملگر ها انجام می شود. برای مثال، عبارت زیر را در نظر بگیرید:

جوب شما به نتیجه عبارت بالا چیست؟ شاید ۰، شایدم ۲! اما نتیجه صحیح کدام است؟ عدد ۲ نتیجه عبارت بالا می باشد. زیر حق تقدم عملیات ضرب بالاتر از عملیات جمع است، پس ابتدا عملیات ضرب انجام شده و نتیجه با عدد دو جمع می شود. اما فرض کنید عبارت بالا را به صورت زیر تغییر دادیم:

با تغییر بالا، نتیجه عبارت ۰ خواهد بود. زیرا حق تقدم عبارت داخل پرانتز، بیشتر از ضرب می باشد، پس ابتدا عدد ۲ با عدد ۲ جمع شده و سپس نتیجه در ۰ ضرب می شود.

در زیر حق تقدم ها را مشاهده می کنید. حق تقدم ها از درجه زیاد به کم نوشته شده اند. همچنین توجه کنید در هر سطر حق تقدم ها از چپ به راست می باشند:

android operators android operators android operators android operators android operators android operators android operators

مطالب مرتبط