معرفی عملگر ها
در برنامه نویسی تغییر در مقدار متغیر به برنامه معنی میده و در واقع میشه گفت برنامه نویسی هنر تغییر مقدار متغیر است.
در جاوا متغیر ها به متغیر های اولیه (Primitive) و متغیر های آبجکتی (Object) تقسیم میشن، متغیر های اولیه یا بولین (boolean) هستن یا عددی، در جاوا علامت هایی وجود داره که مقادیر متغیر های اولیه (Primitive) رو تغییر میدن و بهشون عملگر میگیم.
سه نوع عملگر داریم که عبارتند از عملگر های ریاضی، عملگرهای منطقی و عملگر های باینری که در ادامه به این سه نوع عملگر می پردازیم.
عملگر های ریاضی
زبان برنامه نویسی جاوا از چهار عمل اصلی ریاضی (ضرب، تقسیم، جمع و تفریق) پشتیبانی میکنه و برای هرکدوم یک عملگر داره.
زبان جاوا از ترتیب انجام اعمال در ریاضی پشتیبانی میکنه یعنی در یک عمل ریاضی اولویت به ترتیب با عمل داخل پرانتز، ضرب و تقسیم و در اخر جمع و تفریق است.
عملگر ضرب
اگه بخوایم دوتا عدد رو ضرب کنیم از * استفاده میکنیم.
int number0 = 4;
int number1 = 7;
int result = n0 * n1;
System.out.println("multiplication of " + number0 + " and " number1 is " + result);
عملگر تقسیم
اگه بخوایم دوتا عدد رو تقسیم کنیم از / استفاده می کنیم.
float number0 = 632;
float number1 = 4241;
float result = number0 / number1;
System.out.println(number0 + " / " + number1 + " = " result);
عملگر های جمع و تفریق
برای جمع از + و برای تفریق در جاوا از - استفاده می کنیم
int number0 = 42;
int number1 = 75;
int result = number0 + number1;
System.out.println(number0 + " + " number1 + " = " + result);
عملگر باقی مانده
برای گرفتن باقی مانده ی تقسیم دو عدد صحیح از % استفاده می کنیم.
int number0 = 32;
int number1 = 5;
int reminder = 32 % 5;
System.out.println("reminder of " + number0 + " / " + number1 + " is " + reminder);
در مثال زیر برنامه دما رو به فارنهایت از کاربر میگیره و به سلسیوس نشون میده:
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("Enter a degree in fahrenheit : ")
double fahrenheit = input.nextDouble();
double celsius = (5 / 9.0) * (fahrenheit - 32);
System.out.println("Degree in fahrenheit " + fahrenheit + " is " + celsius + " in celsius");
}
در مثال زیر برنامه زمان الانو نشون میده:
public static void main(String[] args){
long currentTime = System.currentTimeMillis();
long totalSeconds = currentTime / 1000;
long currentSecond = totalSeconds % 60;
long totalMinutes = totalSeconds / 60;
long currentMinute = totalMinutes % 60;
long totalHours = totalMinutes / 60;
long currentHour = totalHours % 24;
System.out.println("Current time is " + currentHour + ":" + currentMinute + ":" + currentSecond);
}
ترکیب عملگر های ریاضی برای تغییر در مقدار متغیر
برای خلاصه نویسی در کد میتونیم عملگرهای ریاضی رو باهم ترکیب کنیم.
عملگر =+
اگه بخوایم به مقدار متغیر اضافه و سپس نتیجه رو در خودش ذخیره کنیم از این عملگر استفاده میکنیم
int i = 1;
//i = i + 4;
i += 4
عملگر =-
اگه بخوایم مقداری از متغیر کم و سپس نتیجه رو در خودش ذخیره کنیم از این عملگر استفاده میکنیم:
int i = 7;
//i = i - 4;
i -= 4;
عملگر =/
اگه بخوایم متغیر رو تقسیم بر عددی کنیم و حاصل تقسیم رو در خودش ذخیره کنیم از این عملگر استفاده میکنیم:
int i = 5;
//i = i / 2;
i /= 2;
عملگر =*
اگه بخوایم متغیر رو در عددی ضرب و نتیجه رو در خود متغیر ذخیره کنیم از =* استفاده می کنیم.
int m = 3;
//m = m * 5;
m *= 5;
عملگر =%
اگه بخوایم حاصل باقی مانده ی تقسیم متغیر بر عددی رو در خود متغیر ذخیره کنیم از =% استفاده می کنیم.
int i = 8;
//i = i % 7;
i %= 7;
عملگر ++
از عملگر ++ برای اضافه کردن یک واحد به متغیر استفاده می کنیم.
اگه بخوایم ابتدا از متغیر استفاده و سپس یک واحد بهش اضافه کنیم عملگر رو در سمت راست متغیر می نویسیم.
int i = 1;
int j = i++; //j = 1 , i = 2
اگه بخوایم ابتدا یک واحد به متغیر اضافه و سپس از متغیر استفاده کنیم عملگر رو در سمت چپ متغیر می نویسیم.
int i = 1;
int j = ++i; //j = 2, i = 2;
عملگر --
از -- برای کم کردن یک واحد از متغیر استفاده میکنیم.
اگه بخوایم ابتدا از مقدار متغیر استفاده و سپس یک واحد ازش کم کنیم عملگر رو سمت راست متغیر می نویسیم.
int i = 1;
int j = i--;
اگه بخوایم ابتدا یک واحد از متغیر کم و سپس ازش استفاده کنیم عملگر رو در سمت چپ متغیر می نویسیم.
int i = 1;
int j = --i;
عملگر های بولین (boolean)
از عملگر های بولین (boolean) در جاوا برای تغییر در مقادیر بولین (boolean) استفاده می کنیم.
از عملگر های منطقی برای تغییر مقدار boolean استفاده میشه؛ این عملگر ها در جاوا از قوانین جبر بول پیروی میکنن.
عملگر !
مقدار عبارت boolean رو معکوس میکنه مثلا اگ مقدار یک عبارت true باشه با این عملگر false میشه
boolean b = true;
System.out.println(!b);
عملگر &&
معنی and (و) میده، بین دو یا چند مقدار بولین (boolean) باید همگی true باشن، نتیجه برابر با true حتی اگه یکی از مقادیر false باشه نتیجه رو false میکنه.
boolean b0 = true;
boolean b1 = false;
boolean b2 = true;
System.out.println("b0 is " + b0 + " b1 is " + b1 + " b2 is " + b2)
System.out.println("b0 and b1 and b2 is " + b0&&b1&&b2);
System.out.println("b0 and b1 is " + b0&&b1);
System.out.println("b0 and b2 is " + b0&&b2);
System.out.println("b1 and b2 is " + b1&&b2);
عملگر ||
معنی or (یا) میده، بین دو یا چند مقدار بولین (boolean) اگه همگی false باشن نتیجه false میشه ولی اگه یکی از مقادیر true بود نتیجه true میشه.
System.out.println("b0 is " + b0 + " b1 is " + b1 + " b2 is " + b2);
System.out.println("b0 or b1 or b2 is " + b0 || b1 || b2);
System.out.println("b0 or b1 is " + b0 || b1);
System.out.println("b0 or b2 is " + b0 || b2);
System.out.println("b1 or b2 is " + b1 || b2);
عملگر های منطقی (logical) و بیتی (bitwise)
میدونیم مقادیر در کامپیوتر مجموعه ای از صفر و یک هستند که بهش میگیم مجموعه ای از بیت (bit) ها، با استفاده از عملگرهای بیتی (bitwise) میتونیم مقادیر رو در سطح بیت (bit) تغییر بدیم؛ این عملگر ها از قوانین جبر بول پیروی میکنن.
این عملگرها در سطح بیت (bit) میتونن مقادیر رو تغییر بدن، زمانی که ازشون برای تغییر مقدار بولین استفاده کنیم بهشون عملگرهای منطقی (logical) میگیم و هنگامی که بخوایم ازشون برای تغییر مقادیر عددی استفاده کنیم بهشون عملگرهای بیتی (bitwise) میگیم.
عملگر &
عملگر & بیت های دو مقدار رو بررسی میکنه، بین دو بیت اگه یکیشون یا هردو صفر باشه نتیجه صفر میشه ولی اگه هردو یک باشه نتیجه یک میشه.
int a = 0b110101;
int b = 0b101011;
//result: 100001;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a and b = " + a & b);
عملگر |
عملگر | بیت (bit) های دو مقدار رو بررسی میکنه اگه هردو صفر بود نتیجه صفر میشه ولی اگه یکیشون یا هردو یک بود نتیجه یک میشه.
int a = 0b110101;
int b = 0b101011;
//result: 111111
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a or b = " + a | b);
عملگر ^
معنی or اختصاصی (exclusive or) میده هنگام بررسی بیت (bit) ها اگه یکیشون یک بود و اون یکی صفر نتیجه یک میشه در غیر اینصورت نتیجه صفر است.
int a = 0b110101;
int b = 0b101011;
//result: 011110;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a xor b = " + a ^ b);
عمگر شیفت به راست
با این عملگر به اندازه ی عددی که براش تعیین میکنیم بیت (bit) ها رو به سمت راست شیفت میدیم.
int a = 0b110101;
//result: 001101
System.out.println("a = " + a);
System.out.println("shifiting bits two units to right: " + a >>> 2);
هنگام شیفت به راست اگه بخوایم بیت علامت حفظ بشه (یعنی اگه عدد منفی بوده منفی بمونه) از >> بجای >>> استفاده میکنیم؛ یعنی هنگام استفاده از راست شیفت دوتایی اگه عدد منفی باشه، مقدار عدد تغییر میکنه ولی علامت عدد مثبت نمیشه.
int a = -8;
System.out.println("shifiting bits 10 units to right with significant bit change: " + a >>> 10);
System.out.println("shifiting bits 10 units to right without significant bit change " + a >> 10);
عملگر شیفت به چپ
با این عملگر به اندازه ی عددی که براش تعیین میکنیم بیت (bit) ها رو به سمت چپ شیفت میدیم.
int a = 0b110101;
//result: 11010100000
System.out.println("a = " + a);
System.out.println("shifiting bits two units to right: " + 5 << a);
خلاصه
- از عملگر ها در جاوا برای تغییر در مقدار متغیر و داده های اولیه استفاده می کنیم.
- به طور کلی عملگر ها در جاوا به سه دسته ی عملگر های ریاضی، عملگر های منطقی و عملگرهای باینری تقسیم میشن.
- عملگرهای ریاضی از قوانین ترتیب انجام اعمال در ریاضی پیروی میکنن.
- از عملگر های منطقی برای تغییر در مقادیر بولین (boolean) استفاده می کنیم.
- از عملگرهای باینری برای تغییر در مقدار بیت (bit) های داده ها استفاده میکنیم.
بازخورد و دیدگاه ها
اولین نفری باشید که در این صفحه نظر میدهید