عملگرهای ریاضی
جاوا از عملگرهای ریاضی برای انجام محاسبات استفاده میکند. جدول زیر عملگرهای ریاضی جاوا را نشان میدهد :
عملگر | دسته | مثال | نتیجه |
+ | Binary | var1 = var2 + var3; | Var1 برابر است با حاصل جمع var2 و var3 |
– | Binary | var1 = var2 – var3; | Var1 برابر است با حاصل تفریق var2 و var3 |
* | Binary | var1 = var2 * var3; | Var1 برابر است با حاصلضرب var2 در var3 |
/ | Binary | var1 = var2 / var3; | Var1 برابر است با حاصل تقسیم var2 بر var3 |
% | Binary | var1 = var2 % var3; | Var1 برابر است با باقیمانده تقسیم var2 و var3 |
+ | Unary | var1 = +var2; | Var1 برابر است با مقدار var2 |
– | Unary | var1 = -var2; | Var1 برابر است با مقدار var2 ضربدر 1- |
دیگر عملگرهای جاوا عملگرهای کاهش و افزایش هستند. این عملگرها مقدار 1 را از متغیرها کم یا به آنها اضافه میکنند. از این متغیرها اغلب در حلقهها استفاده میشود :
عملگر | دسته | مثال | نتیجه |
++ | Unary | var1 = ++var2; | مقدار var1 برابر است با var2 بعلاوه 1 |
– – | Unary | var1 = – -var2; | مقدار var1 برابر است با var2 منهای 1 |
++ | Unary | var1 = var2++; |
مقدار var1 برابر است با var2 به متغیر var2 یک واحد اضافه میشود |
– – | Unary | var1 = var2- -; |
مقدار var1 برابر است با var2 از متغیر var2 یک واحد کم میشود |
به این نکته توجه داشته باشید که، محل قرار گیری عملگر در نتیجه محاسبات تأثیر دارد. اگر عملگر قبل از متغیر var2 بیاید، افزایش یا کاهش var1 اتفاق می افتد. چنانچه عملگرها بعد از متغیر var2 قرار بگیرند، ابتدا var1 برابر var2 میشود و سپس متغیر var2 افزایش یا کاهش مییابد.
به مثالهای زیر توجه کنید :
package myfirstprogram; import java.text.MessageFormat; public class MyFirstProgram { public static void main(String[] args) { int x = 0; int y = 1; x = ++y; System.out.println(MessageFormat.format("x= {0}",x)); System.out.println(MessageFormat.format("y= {0}", y)); } }
x=2 y=2
package myfirstprogram; import java.text.MessageFormat; public class MyFirstProgram { public static void main(String[] args) { int x = 0; int y = 1; x = --y; System.out.println(MessageFormat.format("x= {0}",x)); System.out.println(MessageFormat.format("y= {0}", y)); } }
x=0 y=0
همانطور که در دو مثال بالا مشاهده میکنید، درج عملگرهای — و ++ قبل از عملوند y باعث میشود که ابتدا یک واحد از y کم و یا یک واحد به y اضافه شود و سپس نتیجه در عملوند x قرار بگیرد. حال به دو مثال زیر توجه کنید :
package myfirstprogram; import java.text.MessageFormat; public class MyFirstProgram { public static void main(String[] args) { int x = 0; int y = 1; x = y--; System.out.println(MessageFormat.format("x= {0}",x)); System.out.println(MessageFormat.format("y= {0}", y)); } }
x=1 y=0
package myfirstprogram; import java.text.MessageFormat; public class MyFirstProgram { public static void main(String[] args) { int x = 0; int y = 1; x = y++; System.out.println(MessageFormat.format("x= {0}",x)); System.out.println(MessageFormat.format("y= {0}", y)); } }
x=1 y=2
همانطور که در دو مثال بالا مشاهده میکنید، درج عملگرهای — و ++ بعد از عملوند y باعث میشود که ابتدا مقدار y در داخل متغیر x قرار بگیرد و سپس یک واحد از y کم و یا یک واحد به ان اضافه شود. حال میتوانیم با ایجاد یک برنامه نحوه عملکرد عملگرهای ریاضی در جاوا را یاد بگیریم :
package myfirstprogram; import java.text.MessageFormat; public class MyFirstProgram { public static void main(String[] args) { //Variable declarations int num1, num2; //Assign test values num1 = 5; num2 = 3; System.out.println(MessageFormat.format("The sum of {0} and {1} is {2}.", num1, num2, (num1 + num2))); System.out.println(MessageFormat.format("The difference of {0} and {1} is {2}.", num1, num2, (num1 - num2))); System.out.println(MessageFormat.format("The product of {0} and {1} is {2}.", num1, num2, (num1 * num2))); System.out.println(MessageFormat.format("The quotient of {0} and {1} is {2}.", num1, num2, ((double)num1 / num2))); System.out.println(MessageFormat.format("The remainder of {0} and {1} is {2}.", num1, num2, (num1 % num2))); } }
The sum of 5 and 3 is 8. The difference of 5 and 3 is 2. The product of 5 and 3 is 15. The quotient of 5 and 3 is 1.67. The remainder of 5 divided by 3 is 2
برنامه بالا نتیجه هر عبارت را نشان میدهد. در این برنامه از متد println() برای نشان دادن نتایج در سطرهای متفاوت استفاده شده است. در این مثال با یک نکته عجیب مواجه میشویم و آن حاصل تقسیم دو عدد صحیح است. وقتی که دو عدد صحیح را بر هم تقسیم کنیم حاصل باید یک عدد صحیح و فاقد بخش کسری باشد. اما همانطور که مشاهده میکنید، اگر فقط یکی از اعداد را به نوع اعشاری double تبدیل کنیم (در مثال میبینید) حاصل به صورت اعشار نشان داده میشود.
سلام
من همین کد رو کپی کردم توی نت بینز
ولی زمانی که چاپ میکنه اینجوری میشه:
?=x
?=y
سلام
در جدول دوم ردیف دوم
که نوشتید مقدار va1 برابر است با var2 منهای 1
باید از 2 علامت تفریق استفاده می کردید var= –va2
سلام، بسیار ممنون بابت نکته سنجیتون