اپراتورهای اصلی جاوا:

  • شروع کننده موضوع tiago2
  • تاریخ شروع
T

tiago2

کاربر تالار
کاربر تالار
اپراتورهای اصلی جاوا:

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

· Arithmetic Operators (عملگرهای محاسباتی)

· Relational Operators (عملگرهای رابطه ای)

· Bitwise Operators (اپراتورهای بیتی)

· Logical Operators (اپراتورهای منطقی)

· Assignment Operators (اپراتورهای انتصابی)

· Misc Operators (اپراتورهای Misc)


اپراتورهای Arithmetic (محاسباتی)

اپراتورهای arithmetic در عبارات ریاضی همانطوری استفاده می شوند که در جبر مورد استفاده قرار می گیرند. جدول زیر اپراتورهای arithmetic را ارائه می دهد:

فرض کنید متغیر عدد صحیح A مقدار 10 و متغیر عدد صحیح B مقدار 20 را دارد، بنابراین:


Operator

Description

Example

+

به هر طرف اپراتور مقدار اضافه می کند.

A + B will give 30

-

Operand سمت راست را از operand سمت چپ کم می کند.

A - B will give -10

*

مقادیر را در هر رو طرف اپراتور ضرب می کند.

A * B will give 200

/

Operand سمت راست را بر operand سمت چپ تقسیم می کند.

B / A will give 2

%

Operand سمت چپ را به operand سمت راست تقسیم کرده و باقیمانده را گزارش می دهد.

B % A will give 0

++

مقدار operand را به اندازه ی یک واحد افزایش می دهد.

B++ gives 21

--

مقدار operand را به اندازه ی یک واحد کاهش می دهد.

B-- gives 19


اپراتورهای رابطه ای (Relational):

اپراتورهای رابطه ای که در زبان جاوا پشتیبانی می شوند در زیر ارائه شده اند.

فرض کنید متغیر A دارای مقدار 10 و متغیر B دارای مقدار 20 می باشد.


Operator

Description

Example




==

مساوی یا غیرمساوی بودن مقادیر دو operand را چک می کند، اگر مساوی باشند، شرایط به درستی پیش میرود.

(A == B) is not true.

!=

تساوی دو operand را چک می کند، اگر مقادیر برابر نباشند، شرایط درست می شود.

(A != B) is true.

>

مقادیر operand چپ و راست را مورد بررسی قرار می دهد، اگر مقدار operand چپ بزرگتر باشد، شرایط درست می باشد.

(A > B) is not true.

<

مقادیر operand چپ و راست را مورد بررسی قرار می دهد، اگر مقدار operand چپ کوچکتر باشد، شرایط درست می باشد.

(A < B) is true.

>=

بررسی می کند، اگر مقدار operand چپ از operand راست بزرگتر باشد یا با هم برابر باشند، شرایط درست می باشد.

(A >= B) is not true.

<=

بررسی می کند، اگر مقدار operand چپ کمتر از یا برابر با مقدار operand راست باشد، شرایط درست می باشد.

(A <= B) is true.



اپراتورهای Bitwise:

جاوا چندین اپراتور bitwise تعریف می کند، که می توانند برای انواع عدد صحیح، long،int، short، char و byte استفاده شوند.

اپرتور bitwise روی بیت ها کار می کند و عملکردها را bit-by-bit اجرا می کند. فرض کنید اگر a = 60; و b = 13 ؛ اکنون در فرمت دوگانه مانند زیر می باشند:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011


جدول زیر اپراتورهای bitwise را لیست می کند:

فرض کنید متغیر عدد صحیح A دارای مقدار 60 و متغیر B دارای مقدار 13 باشد، بنابراین:


Operator

Description

Example

&

اگر در هر دو operand وجود داشته باشد، اپراتور دوگانه ی AND یک بیت را به هر دو operand کپی می کند.

(A & B) will give 12 which is 0000 1100

|

اپراتور دوگانه ی OR یک بیت را کپی می کند، اگر در هر دو operand وجود داشته باشد.

(A | B) will give 61 which is 0011 1101

^

اپراتور دوگانه ی XOR یک بیت را کپی می کند، اگر در یک operand و نه هر دو تنظیم شده باشد.

(A ^ B) will give 49 which is 0011 0001

~

اپراتور دوتایی Ones Complement یگانی است و دارای تاثیر بیت های 'flipping می باشد.

(~A ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.

<<

اپراتور دوتایی Left Shift. مقادیر operand های چپ با یا تعداد بیت های مشخص شده به وسیله ی operand راست، به سمت چپ حرکت می کنند.

A << 2 will give 240 which is 1111 0000

>>

اپراتور دوتایی Right Shift. مقدار Operand های چپ با تعداد بیت های مشخص شده به وسیله ی operand راست، به سمت راست حرکت می کنند.

A >> 2 will give 15 which is 1111

>>>

اپراتور Shift right zero fill. مقادیر Operand های چپ با تعداد بیت های مشخص شده به وسیله ی operand راست به سمت راست حرکت می کنند و مقادیر تغییریافته با صفر پر می شوند.

A >>>2 will give 15 which is 0000 1111


اپراتورهای منطقی:

جدول زیر اپراتورهای منطقی را ارائه می کند.

فرض کنید در متغیرهای Boolean، متغیر A دارای مقدار true و متغیر B دارای مقدار false میباشد، بنابراین:


Operator

Description

Example

&&

اپراتور Logical AND نامیده می شود. اگر هر دو operand ها غیرصفر باشند، پس شرایط درست می شود.

(A && B) is false.

||

اپراتور Logical OR نامیده می شود. اگر هر کدام از operand ها غیرصفر باشند، شرایط درست می شود.

(A || B) is true.

!

اپراتور Logical NOT نامیده می شود. برای معکوس کردن حالت منطقی operand استفاده می شود. اگر یکی از شرایط true باشد، سپس اپراتور Logical NOT عبارت false را ایجاد می کند.

!(A && B) is true.


اپراتورهایواگذاری (Assignment):

اپراتورهای واگذاری زیر وجود دارند که توسط زبان جاوا پشتیبانی می شوند:


Operator

Description

Example

=

اپراتور ساده ی واگذاری، مقادیر را از operand های سمت راست به operand های سمت چپ اختصاص می دهد.

C = A + B will assign value of A + B into C

+=

افزودن اپراتور واگذاری AND، این اپراتور operand راست را به operand چپ اضافه می کند و نتیجه را به operand چپ اختصاص می دهد.

C += A is equivalent to C = C + A

-=

اپراتور واگذاری AND را حذف می کند، operand راست را از operand چپ حذف می کند و نتیجه را به operand چپ اختصاص می دهد.

C -= A is equivalent to C = C - A

*=

اپراتور واگذاری AND را ضرب می کند، این اپراتور operand راست را با operand چپ ضرب می کند و نتیجه را به operand چپ اختصاص می دهد.

C *= A is equivalent to C = C * A

/=

اپراتور واگذاری AND را تقسیم می کند، operand چپ را به operand راست تقسیم می کند و نتیجه را به operand چپ اختصاص می دهد.

C /= A is equivalent to C = C / A

%=

اپراتور واگذاری Modulus AND ، با استفاده از دو operand ضریب را گرفته و نتیجه را به operand چپ اختصاص می دهد.

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

<<=

Left shift AND assignment operator

C <<= 2 is same as C = C << 2

>>=

Right shift AND assignment operator

C >>= 2 is same as C = C >> 2

&=

Bitwise AND assignment operator

C &= 2 is same as C = C & 2

^=

bitwise exclusive OR and assignment operator

C ^= 2 is same as C = C ^ 2

|=

bitwise inclusive OR and assignment operator

C |= 2 is same as C = C | 2


اپراتورهای Misc:

اپراتورهای دیگری هم وجود دارند که توسط Java Language پشتیبانی می شوند.

اپراتوز شرطی (?:):

اپراتور شزطی که با عنوان اپراتور سه تایی (ternary) نیز شناخته میشود. این اپراتور حاوی سه operand میباشد و برای ارزیابی عبارات Boolean به کار می رود. هدف این اپراتور این است که تصمیم بگیرد کدام مقدار باید به متغیر اختصاص داده شود. اپراتور به این شکل نوشته می شود:

variable x =(expression)? value iftrue: value iffalse


در ادامه مثالی را مشاهده می کنید:

publicclassTest{
color:black">
publicstaticvoid main(String args[]){
color:black"> int a , b;
color:black"> a =10;
color:black"> b =(a ==1)?20:30;
color:black"> System.out.println("Value of b is : "+ b );
color:black">
b =(a ==10)?20:30;
color:black"> System.out.println("Value of b is : "+ b );
color:black"> }
color:#666600">}

این مثال نتایج زیر را تولید خواهد کرد:

Value of b is:30
Value of b is:20
9.0pt;color:black">

اپراتور instanceof:

این اپراتور فقط برای متغیرهای آبجکت مرجع استفاده می شود. اپراتور چک می کند که آیا آبجکت از نوع خاصی است ( نوع class یا نوع اینترفیس). اپراتور instanceof مانند زیر نوشته می شود:

(Object reference variable )instanceof (class/interface type)

اگر آبجکت اشاره شده به وسیله ی یک متغیر در سمت چپ اپراتور، بررسی IS-A را برای نوع گروه/ اینترفیس در سمت راست، پشت سر می گذارد، پس نتیجه درست خواهد بود. در زیر مثالی را مشاهده می کنید:

publicclassTest{
color:black">
publicstaticvoid main(String args[]){
color:black"> String name ="James";
color:black"> // following will return true since name is type of String
color:black"> boolean result = name instanceofString;
color:black">System.out.println( result );
color:black"> }
color:#666600">}

این مثال نتیجه ی زیر را به دنبال دارد:

true
9.0pt;color:black">

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

classVehicle{}
color:black">
publicclassCarextendsVehicle{
color:black"> publicstaticvoid main(String args[]){
color:black"> Vehicle a =newCar();
color:black"> boolean result = a instanceofCar;
color:black"> System.out.println( result );
color:black"> }
color:#666600">}

این مثال نتیجه ی زیر را به دنبال خواهد داشت:

true
9.0pt;color:black">

تقدم اپراتورهای جاوا:

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

برای مثال x = 7 + 3 * 2 ؛ در اینجا مقدار 13 به x اختصاص داده می شود و نه 20، زیرا اپراتور ضرب دارای اولویت بالاتری نسبت به اپراتور جمع می باشد، بنابراین ابتدا مقدار ضرب 3*2 در ننظر گرفته شده و سپس جمع حاصل آن با عدد 7.

در اینجا اپراتورها با بالاترین اولویت در بالای جدول ظاهز می شوند، و اپراتورها با کمترین اولویت نیز در پایین جدول. در داخل یک عبارت، اپراتورهایی با اولویت بالاتر ابتدا ارزیابی خواهند شد.


Category

Operator

Associativity

Postfix

() [] . (dot operator)

Left to right

Unary

++ - - ! ~

Right to left

Multiplicative

* / %

Left to right

Additive

+ -

Left to right

Shift

>> >>> <<

Left to right

Relational

> >= < <=

Left to right

Equality

== !=

Left to right

Bitwise AND

&

Left to right

Bitwise XOR

^

Left to right

Bitwise OR

|

Left to right

Logical AND

&&

Left to right

Logical OR

||

Left to right

Conditional

?:

Right to left

Assignment

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

Right to left

Comma

,

Left to right


فصل بعدی:

فصل بعدی در مورد loop control در زبان برنامه نویسی جاوا توضیح خواهد داد. این فصل انواع لوپ ها و چگونگی استفاده از آن ها را در توسعه ی برنامه ی جاوا و هدف از استفادعه از آنها را توضیح خواهد داد.
 
متن زیبا برای فرزند پسر - متن زیبا برای فرزند دختر - متن ادبی درباره برادر - کابل شارژر سامسونگ- خرید قاب گوشی- جواب آمیرزا- اسکرین شات سامسونگ - فلش کردن گوشی - اروس دیجیتال - قاب گوشی A54 - قاب گوشی s23 ultra -
بالا