آموزش برنامه نویسی جاوا

آموزش برنامه نویسی جاوا (بخش سوم: عملگر ها)

جاوا یک محیط عملگر غنی را فراهم کرده است . اکثر عملگرهای آن ر ا می توان در چهار گروه طبقه بندی نمود که عبارت اند از : حسابی (arithmetic) ، رفتاربیتی (BitWise) ، رابطه ای (Relational) و منطقی (Logical) .

کارکرد عملگرها در جاوا مشابه با ++C/C است.

1- عملگرهای حسابی

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

نمی توانید از این عملگرها روی نوع استفاده کنید ، اما روی انواع Char قابل استفاده هستند ، زیرا نوع Char در جاوا بطور ضروری زیر مجموعه ای از int است.

نام عملگر معنی مثال مقدار عبارت مثال
+ جمع 13+7 20
تفریق 8-4 4
منفی -6 -6
* ضرب 3*5 15
/ تقسیم 20/5 4
% باقی مانده تقسیم 8%3 2

عملگرهای حسابی اصلی عبارت اند از: جمع، تفریق، ضرب، تقسیم. مثال: کد زیر یک متغیر از نوع int معرفی می کند. و به آن مقدار 6 را می دهد. در خط دوم یک متغیر از نوع int انتخاب می کند و مقدار آن را برابر جمع متغیر قبلی با عدد 4 می کند. حاصل متغیر دوم برابر 10 است.

int a=6;
int b=a+4;
//b=10

میتوان تعداد بیشتری متغیر و عملوند را در یک خط به کار برد:

int a=5;
int b=7;
int c=3;
int d = a*b*c;
// d=105

عملگر تعیین باقیمانده یعنی % ، باقیمانده یک عملیات تقسیم را برمی گرداند. این عملگر برای انواع عدد اعشاری و انواع عدد صحیح قابل استفاده است. ( اما در ++C/C این عملگر فقط در مورد انواع عدد صحیح کاربرد دارد. )

برنامه بعدی نشان دهنده عملگر % می باشد.

int x = 42;
double y = 42.3;
float z = x%10;
float v = y%10;

در کد بالا مقدار z برابر با 2 و مقدار v برابر با 2.3 است.

جاوا عملگرهای ویژه ای را تدارک دیده که با استفاده از آنها می توان یک عملیات حسابی را با یک انتساب ترکیب نمود. احتمالا می دانید که دستوراتی نظیر مورد زیر در برنامه نویسی کاملا رایج هستند:

a = a + 4;

در جاوا ، می توانید این دستور را بصورت دیگری دوباره نویسی نمایید:

a += 4;

این روایت جدید از عملگر انتساب =+ استفاده می کند هر دو دستورات یک عمل واحد را انجام می دهند : آنها مقدار a را 4 واحد افزایش می دهند.

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

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

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

2- عملگرهای افزایشی و کاهشی

علامات ++ و — عملگرهای افزایشی و کاهشی جاوا هستند.

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

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

x=x+1;

دستور بالا با استفاده از عملگر افزایشی:

x++;

همچنین دستور

x=x-1;

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

x--;

این عملگرها از آن جهت که هم بشکل پسوند جایی که بعد از عملوند قرار می گیرند و هم بشکل پیشوند جایی که قبل از عملوند قرار می گیرند ظاهر می شوند کاملا” منحصر بفرد هستند.

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

به عنوان مثال:

x = 50;
y = ++x;

در این حالت ، همانطوریکه انتظار دارید y معادل 51 می شود. چون افزایش قبل از این که x به y انتساب بیاید، اتفاق می افتد.

اما وقتی که بصورت زیر نوشته می شوند:

x = 50;
y = x++;

در این عبارت، مقدار y برابر با 50 خواهد بود. سپس بعد از آن که مقدار y مشخص می شود، مقدار x به 51 می رسد.

3- عملگر انتساب

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

int x = y = z = 8;

با توجه به خاصیت عملگر انتساب، عبارت فوق در زبان جاوا معتبر بوده و معنای آن این است که هر سه متغیر x و y و z دارای مقدار اولیه 8 هستند.

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

معادل مثال عملگر
x= x+y x+=y +=
x= x – y x -= y -=
x = x*y x*=y *=
x= x/y x/=y /=

4- عملگرهای مقایسه ای

جاوا عملگرهایی برای مقایسه متغیرها (Variables)، متغیرها و متغیرهای لفظی (Literals) و سایر انواع داده‌ها در برنامه دارد. حاصل این عملگرها یک متغیر بولین است که همواره دارای مقدار true یا false است. جدول زیر شامل فهرست کامل عملگرهای مقایسه‌ای جاوا و مثال‌هایی از هر کدام است:

عملگر معنی مثال توضیح مثال
== تساوی x==8  اگر x برابر با 8 باشد، حاصل عبارت True و در غیر این صورت، حاصل false است.
!= نامساوی x!=8 اگر x برابر 8 باشد حاصل عبارت false و در غیر اینصورت true است.
< کوچکتر x<3 اگر x کوچکتر از سه باشد، true و در غیر اینصورت false است.
> بزرگتر x>3 اگر x بزرگتر از سه باشد true و در غیر این صورت false است.
<= کوچکتر مساوی x <= 3 اگر x کوچکتر از سه و یا مساوی با سه باشد true و در غیر این صورت false است.
>= بزرگتر مساوی  x => 3 اگر x بزرگتر از سه و یا مساوی با آن باشد، true و در غیر اینصورت false است.

5- عملگرهای رفتار بیتی یا منطقی

عملگرهای رفتار بیتی The Bitwise operators جاوا چندین عملگر رفتار بیتی تعریف نموده که قابل اعمال روی انواع عدد صحیح شامل long, int, short , char , byte می باشد.

عبارت‌هایی که حاصل آن‌ها یک مقدار بولی (boolean) است، می‌توانند با هم ترکیب شده و عبارت‌های پیچیده‌تری بسازند. برای ترکیب این عبارت‌ها می‌توان از عملگرهای منطقی استفاده کرد. این عملگرها عبارتند از «و» (AND)، «یا» (OR)، «مخالف» (NOT) و «یای انحصاری» (XOR) و …

عملگر نتیجه
& ANDمنطقی
| OR  منطقی
^ XOR منطقی
|| OR اتصال کوتاه
&& AND اتصال کوتاه
! NOT یگانی منطقی
&= AND و تخصیص
|= OR و تخصیص
^= XOR و تخصیص
== مساوی است با
!= مخالف است با
?: If-then-else سه تایی

جدول زیر سه عملگر منطقی مهم جاوا را بررسی کرده و توضیحات و مثال برای هرکدام از آن‌ها آورده است.

عملگر معنی مثال توضیح مثال
& AND (و) A & B  در صورتی که هر دو عبارت درست باشند، مقدار True و در غیر اینصورت مقدار False را بر میگرداند.
| Or (یا) A|B تنها کافیست که حداقل یکی از دو عبارت درست باشد تا مقدار True را برگرداند و در غیر این صورت مقدار False را بر میگرداند.
^ یای انحصاری (XOR) A^B فقط و فقط در صورتی مقدار بازگشتی عبارت درست (true) است که یکی از دو عبارت صحیح و دیگری غلط باشد. اگر هر دو عبارت درست (true) یا هر دو عبارت غلط (false) باشند، مقدار بازگشتی عبارت غلط (false) خواهد شد.
! Not (مخالف) A! اگر A مقدار True داشته باشد، مقدار False و اگر مقدار False داشته باشد مقدار True را بر میگرداند.

Arash

طراح سایت و برنامه نویس

‫2 دیدگاه ها

  1. با سلام
    توضیحات مربوط به عملگرهای منطقی و رفتاربیتی درست نمی باشد.
    لطفا تصحیح کنید.
    با تشکر

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا