اوپراتورهای پایه-جاوا

اوپراتورهای پایه-جاوا
خرداد ۲۲, ۱۳۹۸ No Comments javascript زهرا ابراهیمی

اوپراتورهای پایه-جاوا

توسط ماریه خسروی

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

• عملگرهای محاسباتی
• عملگرهای ارتباطی
• عملگرهای بیتی
• عملگرهای منطقی
• عملگرهای تخصیصی
• عملگرهای متفرقه
عملگرهای ریاضی

عملگرهای ریاضی در عبارات ریاضی به همان شیوه ای که در جبر استفاده می شوند استفاده می شود. جدول زیر عملگرهای محاسباتی را فهرست می کند .فرض کنید متغیر عدد صحیح A 10 و متغیر B عدد ۲۰ باشد جدول زیر مثالهای مربوط به این عملگرها را نشان می دهد.

 

 

عملگر

توضیحات

مثال

(جمع) +

مقادیر با هم جمع می شود

A + B خواهد شد ۳۰

(تفریق) –

مقدار راست عملگر از چپ کاسته می شود

A – B میشود ۱۰

(ضرب) *

مقادیر در طرفین عملگر با هم ضرب می شود

A * B می شود ۲۰۰

( تقسیم)/

مقدار سمت چپ عملگر تقسیم بر مقدار سمت راست می شود

B / A می شود  ۲

( پیمانه)%

مقدار سمت چپ عملگر تقسیم بر مقدار سمت راست می شود و نتیجه باقی مانده را نشان می دهد

B % A می شود  ۰

(افزایش)++

این عملگر به میزان یک واحد به مقدار اضافه می کند

B++ می شود  ۲۱

— (Decrement)

این عملگر به میزان یک واحد از مقدار کم می کند

B– gives 19

 

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

عملگرهای ارتباطی زیر تحت زبان جاوا پشتیبانی می شوند. فرض کنید متغیر A عدد صحیح ۱۰ و متغیر B عدد ۲۰ باشد جدول زیر مثالهای مربوط به این عملگرها را نشان می دهد

 

عملگر

توضیحات

مثال

== (برابر با)

این عملگر تساوی دو مقدار را چک می کند

(A == B) نادرست است.

!= (عدم تساوی)

این عملگر تساوی دو مقدار را چک می کند و اگر دو مقدار نا برابر باشند شرایط درست است

(A != B) درست است

> (بزرگتر از)

این عملگر بزرگتر بودن مقدار عددی سمت چپ را چک می کند و اگر بزرگتر باشد شرایط درست است

(A > B) نادرست است

< (کمتر از )

این عملگر کوچکتر بودن مقدار عددی سمت چپ را چک می کند و اگر کوچکتر باشد شرایط درست است

(A < B) درست است

>=(بزرگتر مساوی )

این عملگر بزرگتر یا مساوی بودن مقدار عددی سمت چپ را چک می کند و اگر بزرگتر یا مساوی باشد شرایط درست است

(A >= B) نادرست است.

<= (کوچکتر مساوی)

این عملگر کوچکتر یا مساوی بودن مقدار عددی سمت چپ را چک می کند و اگر کوچکتر یا مساوی باشد شرایط درست است

(A <= B) درست است.

عملگر بیتی

 
جاوا چندین عملگر بیتی را تعریف می کند که می تواند به انواع عدد صحیح، بلند، int، کوتاه، کاراکتر و بایت اعمال شود.

عملگر بیتی بر روی بیت ها کار می کند و عملیات بیت به بیت را انجام می دهد. فرض کنید اگر a = 60 و b = 13 باشد؛ در حال حاضر قالب باینری آنها به شرح زیر خواهد بود

a = 0011 1100

b = 0000 1101

—————–

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = ۱۱۰۰ ۰۰۱۱

جدول زیر فهرست عملگرهای بیتی را ارائه می کند.
فرض کنید متغیر A عدد صحیح ۶۰ و متغیر B عدد ۱۳ باشد به مثالهای زیر توجه کنید.

 

عملگر

توضیحات

مثال

& (و )

و باینری که عملگر بیتی را که در هر دو متغیر وجود داشته باشد را کپی می کند.

(A & B) می شود ۱۲  که در نهایت  ۰۰۰۰ ۱۱۰۰ چاپ می شود

| (یا )

یا باینری که عملگر بیتهای موجود در هر یک از متغیرها را کپی می کند

(A | B) می شود ۶۱ که ۰۰۱۱ ۱۱۰۱ چاپ می شود

^ (بیتی XOR)

XOR باینری که عملگر در آن بیتی که تنها در یکی از متغیرها موجود است را کپی می کند

(A ^ B) می شود ۴۹ که ۰۰۱۱ ۰۰۰۱ چاپ می شود

~ (تعریف بیتی)

عملگر باینری تعریف یگانه است و اثر بیت ها را دارد.

(~A ) می شود -۶۱ که ۱۱۰۰ ۰۰۱۱ چاپ می شود

 که فرم تعریفی یکی از اعداد باینری مشخص شده است  

<< (شیفت به چپ)

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

A << 2 می شود ۲۴۰ که ۱۱۱۱۰۰۰۰ چاپ می شود

>> (شیفت به راست )

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

A >> 2  می شود ۱۵ که ۱۱۱۱ چاپ می شود

>>> (شیفت به راست با صفر)

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

A >>>2  می شود ۱۵ که ۰۰۰۰۱۱۱۱ چاپ می شود

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

جدول زیر لیست عملگرهای منطقی را ارائه می دهد

فرض کنید متغیرهای بولی A درست و متغیر B نادرست باشد به مثالها توجه کنید.
 

عملگر

توضیحات

مثال

&& (و منطقی)

عملگر و منطقی اگر هر دو متغیر غیر صفر باشد درست را چاپ  می کند

(A && Bنادرست است

|| (یا منطقی)

عملگر “یا” منطقی اگر یکی از متغیرها غیر صفر باشد شرایط درست را چاپ می کند

(A || B) درست است

! (نه منطقی)

عملگر نه منطقی حالت منطقی را تغییر می دهد یعنی اگر جواب نه باشد  شرایط درست را چاپ می کند

!(A && B)  درست است

 

عملگرهای تخصیصی

در زیر عملگرهای تخصیصی که به زبان جاوا پشتیبانی می شود آورده شده است به مثالها توجه کنید.

 

عملگر

توضیحات

مثال

=

عملگر تخصیصی ساده که مقادیر متغیرهای سمت راست را در متغیر سمت چپ قرار می دهد

C = A + B مقدار A+B را در C قرار می دهد

+=

عملگر جمع و تخصیص که متغیر چپ را با راست جمع و نتیجه را در متغیر چپ قرار می دهد

     C += A می شود

 C = C + A

-=

عملگر تفرق و تخصیص که متغیر راست را از چپ کم می کند و نتیجه را در متغیر چپ قرار می دهد

C -= A        می شود  

C = C – A

*=

عملگر ضرب و تخصیص که متغیر راست و چپ را در هم ضرب می کند و نتیجه را در متغیر چپ قرار می دهد

     C *= A می شود

 C = C * A

/=

عملگر تقسیم و تخصیص که متغیر چپ را تقسیم بر متغیر راست می کند و نتیجه را در متغیر چپ قرار می دهد.

C /= A می شود   

C = C / A

%=

عملگر پیمانه و تخصیص که متغیر چپ را تقسیم بر متغیر راست می کند و باقی مانده تقسیم را به عنوان نتیجه در متغیر چپ قرار می دهد

C %= A is equivalent to C = C % A

<<=

شیفت به چپ و عملگر تخصیص

C <<= 2 همان

 C = C << 2 است

>>=

شیفت به راست و عملگر تخصیص

 C >>= 2 همان

 C = C >>2است

&=

عملگر تخصیصی “و”بیتی

C &= 2 همان  C = C & 2 است

^=

عملگر تخصیصی “و یا” انحصاری

C ^= 2 همان  C = C ^ 2 است

|=

عملگر دوگانه تخصیصی و “یا”

C |= 2 همان

 C = C | 2 است

 

           

چند عملگر پشتیبانی شده دیگر توسط زبان جاوا وجود دارد.

 

عملگرهای متفرقه

 

عملگر مشروط (؟:) 

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

variable x = (expression) ? value if true : value if false

 در ادامه یک مثال وجود دارد:

public static void main(String args[]) {
int a, b;
a = 10;
b = (a == 1) ? 20: 30;
System.out.println( “Value of b is : ” + b );

b = (a == 10) ? 20: 30;
System.out.println( “Value of b is : ” + b );
}
}

پس از اجرا نتیجه به صورت زیر خواهد بود

خروجی
 

Value of b is : 30

Value of b is : 20

 

     

 

عملگر نمونه

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

 

(Object reference variable) instance of (class/interface type)

 

اگر موضوعی که توسط متغیر در سمت چپ عملگر وارد شود، برای تشخیص نوع کلاس / رابط در سمت راست عبور می کند، سپس نتیجه درست خواهد بود. در ادامه یک مثال برای این عملگر وجود دارد .

public class Test {

public static void main(String args[]) {

String name = “James”;

// following will return true since name is type of String
boolean result = name instanceof String;
System.out.println( result );
}
}

نتیجه به صورت زیر خواهد شد
خروجی


:true

نتیجه این عملگر همچنان درست خواهد شد اگر موضوع مورد مقایسه تخصیص سازگار با نوع در سمت راست باشد،. به مثالی دیگر در این زمینه توجه کنید

 

class Vehicle {}

public class Car extends Vehicle {

public static void main(String args[]) {

Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result );
}
}


نتیجه به صورت زیر خواهد شد
خروجی

true

 

اولویت های عملگرهای جاوا

اولویت عملگر، گروه بندی ترمهای یک عبارت تعیین می کند. این بر چگونگی ارزیابی بیان تاثیر می گذارد. برخی عملگرها بر دیگر عملگرها ارجحیت دارند؛ برای مثال، عملگر ضرب دارای بالاترین امتیاز است و بر عملگر جمع ارجحیت دارد.

به عنوان مثال، x = 7 + 3 * 2؛ در اینجا به x عدد ۱۳اختصاص می یابد، نه ۲۰ به این دلیل که عملگر * باید قبل از جمع انجام شود، بنابراین اول ۳ * ۲ ضرب می شود و سپس نتیجه به ۷ اضافه می شود.

در جدول عملگرها به ترتیب اولویت ردیف شده اند،. در یک عبارت، عملگرهای اولویت بالاتر به دیگر اوپراتورها ارجحیت دارند و باید زودتر از بقیه عملیات مربوط به آنها انجام شود.

 

 

دسته بندی

عملگر

شرکت پذیری

پسوند

>() [] . (عملگر نقطه)

چپ به راست

یگانی

>++ – – ! ~

راست به چپ

ضربی

>* /

چپ به راست

افزایشی

>+ –

چپ به راست

شیفت

>>> >>> <<

چپ به راست

ارتباطی

>> >= < <=

چپ به راست

تساوی

>== !=

چپ به راست

“و”  بیتی

>&

چپ به راست

  XOR بیتی

>^

چپ به راست

بیتی “یا”

>|

چپ به راست

منطقی “و”

>&&

چپ به راست

منطقی “یا”

>||

چپ به راست

شرطی

?:

راست به چپ

تخصیصی

>= += -= *= /= %= >>= <<= &= ^= |=

راست به چپ

 

مطلب بعدی چه چیزی خواهد بود؟

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

tutorialspoint

Tags
درباره نویسنده

Leave a reply

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *