پست تنها



عملگرها

   عملگرها

یک عبارت شامل مجموع ه‏ای از مقادیر، متغیرها و … می ‏باشد.

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

عملگرهای مختلفی وجود دارند که کارهای مختلفی انجام می‏ دهند مانند عملگر (+) که برای جمع دو عدد در مقادیر عددی استفاده می‏ شود.

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

۱- عملگرهای محاسباتی : جمع (+)، منها (-)، ضرب (*)، توان (^)، تقسیم با اعشار(/)، تقسیم صحیح (\)، mod(باقی مانده)

۲- عملگرهای منطقی و بیتی : And , Or , Xor , Not , AndAlso , OrElse

۳- عملگرهای رابطه‏ای یا مقایسه ‏ای :=,<>,<=,>=,>,<

۴- عملگرهای ترکیبی : &= , \= , /= , *= , +=

ع۵- عملگرهای رشته ‏ای : &,+,+=

عملگر تقسیم صحیح (\) : مقدار یا متغیر سمت چپ را به مقدار یا متغیر سمت راست تقسیم می‏کند که جواب همواره عددیست صحیح (از قسمت اعشاری صرف نظر می‏شود). اما در صورت استفاده از عملوندهای اعشاری، آنها گرد می‏شوند.

dim A as byte
A=12 \ 10                                  A=1

عملگر تقسیم اعشاری (/) : مقدار یا متغیر سمت چپ را به مقدار یا متغیر سمت راست تقسیم می‏کند و جواب همواره عددیست اعشاری.

dim A as single
A=12/10                                A=1.2

عملگر mod : عدد سمت چپ را بر عدد سمت راست تقسیم می‏کند و باقی مانده را به عنوان جواب بازمی‏گرداند. جواب آن همواره عددیست صحیح.

Dim A as byte
A=12 mod 10                            A=2

• مثالی از عملگرهای ترکیبی

Dim A as byte
A=5
A+=5				A=10
A - = 2			A=8
A *= 2
A \= 2
A /= 2
A ^= 2

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

نوع هر عبارت هم نوع با عملوندهای همان عبارت تعیین خواهد شد.

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

Byte + ByteByte
Integer * Integer Integer

تفاوتی نمی‏کند که عملگر در عبارات چه چیزی باشد.
اگر نوع داده عملوندها در عبارت متفاوت باشد آنگاه نوع داده با محدوده بیشتر به عنوان نوع داده کل عبارت در نظر گرفته می‏شود:

nteger +byte Integer
Integer * byte Integer


نتیجه ‏ی عبارات عددی باید در محدوده‏ ی عملوندهایشان (اعضای عبارت) باشد.

   Dim b, b1 As Byte, i As Integer
  b = 100
  b1 = 200
  i = b + b1                   Error

به صورت ساده می‏توان گفت که در خط آخر، خطا در سمت راست عبارت اتفاق افتاده است یعنی قبل از آنکه نتیجه در متغیر I قرار گیرد خطا رخ می‏دهد، علت آن است که عبارت دارای عملوندهای b و b1 از نوع Byte است و با توجه به نکته فوق نوع داده‏ای کل عبارت همان Byte در نظر گرفته می‏شود. حال آنکه خروجی عبارت برابر با ۳۰۰ بوده و از محدوده‏ ی ۲۵۵ خارج است.

حال خطای بالا را به شکل زیر برطرف می‏کنیم:

i = 1 * b * b1

در این جا عملوند ۱ در حاصل عبارت بی تاثیر بوده اما با توجه به آنکه در VB.Net اعداد به تنهایی از نوع Integer در نظر گرفته می‏شود این روش باعث رفع خطا خواهد شد.
نوع داده عبارت قبل به صورت زیر می‏شود:


عملگرهای مقایسه‏ ای 

نتیجه عباراتی با عملگرهای مقایسه ‏ای جوابیست همواره منطقی (Trueیا False) و معمولا در دستورات شرطی استفاده می‏شوند. در جدول زیر عملگرهای مقایسه ‏ای لیست شده اند

۲>33   False
۲<34  True
۲<>34  true
۲=۳۴  false


می‏توان خروجی عباراتی با این عملگرها را در متغیر Boolean ذخیره کرد.

Dim b as Boolean = 2<=2
B=2<>5

نتیجه ‏ی عبارات با عملوند NOT

عملگرهای ANDALSO یا AND

عملگر AND در صورت درست بودن تمامی عملوندها مقدار TRUE را می‏دهد. نتیجه‏ی عملگر ANDALSO نیز همانند عملگر AND است با این تفاوت که اگر اولین عملوند ارزش False داشته باشد مقدار False را می‏ دهد و دیگر دومین عملوند را بررسی نمی‏کند. بنابراین سرعت آن بیشتر از عملگر AND می‏باشد.

نتیجه‏ ی عبارات با عملگر ANDALSO یا AND:

عملگرهای ORELSE و OR

 

عملگر OR درصورت درست بودن یکی از عملوندها، مقدار TRUE را می‏دهد. نتیجه‏ی عملگرORELSE همانند عملگر OR است با این تفاوت که اگر اولین عملوند ارزش True داشته باشد مقدار True‏ را می‏دهد و دیگر دومین عملوند را بررسی نمی‏کند و سرعت آن بیشتر از عملگر OR می‏باشد.

نتیجه‏ ی عباراتی با عملگر XOR

در صورتی که تعداد عملوندهای صحیح، فرد باشد خروجی آن TRUE و در غیر اینصورت FALSE
می‏باشد

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

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

Join Our Newsletter Today On The Writers Cookbook

Stay updated with all latest updates,upcoming events & much more.
مشترک شدن
SUBSCRIBE NOW
close-link