در این آموزش ، همه چیز در مورد انواع مختلف عملگرها به زبان برنامه نویسی جاوا ، نحو و روش استفاده از آن ها را با مثال می آموزید. عملگرها نمادها (کاراکترهای) خاصی هستند که عملیات را روی عملوند (متغیرها و مقادیر) انجام می دهند. به عنوان مثال ، + عملگر جمع است.
عملگر انتساب
عملگرهای انتساب در جاوا برای اختصاص مقادیر به متغیرها استفاده می شوند. مثلا
int age;
age = 5;
عملگر انتساب مقدار سمت راست خود را به متغیر در سمت چپ خود اختصاص می دهد. در اینجا ، ۵ با استفاده از عملگر = به متغیر age اختصاص داده شده است.
عملگرهای انتساب دیگری نیز وجود دارد. با این حال ، برای راحتی کار ، سایر عملگرهای انتساب را بعدا آموزش می دهیم.
مثال ۱: عملگر انتساب
class AssignmentOperator {
public static void main(String[] args) {
int number1, number2;
// Assigning 5 to number1
number1 = 5;
System.out.println(number1);
// Assigning value of variable number2 to number1
number2 = number1;
System.out.println(number2);
}
}
خروجی
۵
۵
عملگرهای ریاضی
از عملگرهای ریاضی برای انجام عملیات ریاضی مانند جمع ، تفریق ، ضرب و غیره استفاده می شود.
مثال ۲: عملگر ریاضی
class ArithmeticOperator {
public static void main(String[] args) {
double number1 = 12.5, number2 = 3.5, result;
// Using addition operator
result = number1 + number2;
System.out.println(“number1 + number2 = ” + result);
// Using subtraction operator
result = number1 – number2;
System.out.println(“number1 – number2 = ” + result);
// Using multiplication operator
result = number1 * number2;
System.out.println(“number1 * number2 = ” + result);
// Using division operator
result = number1 / number2;
System.out.println(“number1 / number2 = ” + result);
// Using remainder operator
result = number1 % number2;
System.out.println(“number1 % number2 = ” + result);
}
}
خروجی
number1 + number2 = 16.0
number1 – number2 = 9.0
number1 * number2 = 43.75
number1 / number2 = 3.5714285714285716
number1 % number2 = 2.0
در مثال بالا ، تمام عملوند های مورد استفاده متغیر هستند. می توان از اعداد هم استفاده کرد لزوما نباید متغیر باشند.
result = number1 + 5.2;
result = 2.3 + 4.5;
number2 = number1 -2.9;
همچنین می توان از عملگر + برای الحاق دو یا چند رشته استفاده کرد.
مثال ۳: عملگر ریاضی
class ArithmeticOperator {
public static void main(String[] args) {
String start, middle, end, result;
start = “Talk is cheap. “;
middle = “Show me the code. “;
end = “- Linus Torvalds”;
result = start + middle + end;
System.out.println(result);
}
}
خروجی
Talk is cheap. Show me the code. – Linus Torvalds
عملگر های یگانی
عملیات را فقط روی یک عملوند انجام می دهند.
مثال ۴ : عملگر یگانی
class UnaryOperator {
public static void main(String[] args) {
double number = 5.2, resultNumber;
boolean flag = false;
System.out.println(“+number = ” + +number);
// number is equal to 5.2 here.
System.out.println(“-number = ” + -number);
// number is equal to 5.2 here.
// ++number is equivalent to number = number + 1
System.out.println(“number = ” + ++number);
// number is equal to 6.2 here.
// — number is equivalent to number = number – 1
System.out.println(“number = ” + –number);
// number is equal to 5.2 here.
System.out.println(“!flag = ” + !flag);
// flag is still false.
}
}
خروجی
+number = 5.2
-number = -5.2
number = 6.2
number = 5.2
!flag = true
همچنین می توانید از ++ و — به عنوان پیشوند و پسوند در جاوا استفاده کنید. عملگر ++ مقدار را ۱ واحد افزایش و — مقدار را ۱ واحد کاهش می دهد.
int myInt = 5;
++myInt // myInt becomes 6
myInt++ // myInt becomes 7
–myInt // myInt becomes 6
myInt– // myInt becomes 5
هنگام استفاده از عملگر افزایشی و کاهش به عنوان پیشوند و پسوند ، تفاوت اساسی وجود دارد. مثال زیر را در نظر بگیرید ،
class UnaryOperator {
public static void main(String[] args) {
double number = 5.2;
System.out.println(number++);
System.out.println(number);
System.out.println(++number);
System.out.println(number);
}
}
خروجی
۵٫۲
۶٫۲
۷٫۲
۷٫۲
وقتی دستور
System.out.println(number++)
اجرا می شود ، ابتدا مقدار اصلی چاپ می شود و پس از آن یک واحد افزایش می یابد. به همین دلیل خروجی ۵٫۲ است. سپس ، هنگامی که
System.out.println(number)
اجرا می شود، مقدار ۶٫۲ چاپ می شود.
اما ، هنگامی که
System.out.println(++number)
اجرا می شود ، قبل از چاپ روی صفحه ، مقدار آن ۱ واحد افزایش می یابد.
برای – هم به همین شکل است.
عملگرهای برابری و رابطه ای
عملگرهای برابری و رابطه ای ، رابطه بین دو عملگر را تعیین می کنند. بررسی می کند که یک عملوند از دیگری بزرگ تر ، کوچک تر ، مساوی ، نا مساوی و … است. بسته به رابطه ، نتیجه آن درست یا نادرست است.
عملگر های برابری و رابطه ای در تصمیم گیری و حلقه ها استفاده می شود.
مثال ۶ : عملگر های برابری و رابطه ای
class RelationalOperator {
public static void main(String[] args) {
int number1 = 5, number2 = 6;
if (number1 > number2)
{
System.out.println(“number1 is greater than number2.”);
}
else
{
System.out.println(“number2 is greater than number1.”);
}
}
}
خروجی
number2 is greater than number1.
در اینجا ، ما از < برای بررسی اینکه آیا number1 از number2 بیشتر است یا خیر استفاده کردیم.
از آنجا که ، number2 از number1 بیشتر است ، عبارت number1> number2 غلط ارزیابی می شود.
از این رو ، کد قسمت else اجرا می شود و در صورت درست بودن شرط ، کد درون بدنه ی if اجرا می شود.
به یاد داشته باشید که عملگرهای برابری و رابطه ای ، دو عملگر را با یکدیگر مقایسه می کنند و به صورت true یا false ارزیابی می شوند.
علاوه بر عملگر های رابطه ای ، یک نمونه عملگر مقایسه ای نیز وجود دارد که نمونه ای از شی را با یک نوع خاص مقایسه می کند.
عملگر instanceof
در اینجا مثالی از عملگر instanceof آورده شده است
class instanceofOperator {
public static void main(String[] args) {
String test = “asdf”;
boolean result;
result = test instanceof String;
System.out.println(result);
}
}
وقتی برنامه را اجرا می کنید ، خروجی true خواهد بود. به این دلیل است که test نمونه ای از کلاس String است.
عملگر های منطقی
عملگرهای منطقی || (شرطی- OR) و&& (شرطی-AND) با عبارات بولی کار می کنند.
مثال ۸ : عملگر منطقی
class LogicalOperator {
public static void main(String[] args) {
int number1 = 1, number2 = 2, number3 = 9;
boolean result;
// At least one expression needs to be true for result to be true
result = (number1 > number2) || (number3 > number1);
// result will be true because (number1 > number2) is true
System.out.println(result);
// All expression must be true from result to be true
result = (number1 > number2) && (number3 > number1);
// result will be false because (number3 > number1) is false
System.out.println(result);
}
}
خروجی
true
false
عملگرهای منطقی در تصمیم گیری و حلقه استفاده می شوند.
عملگرهای سه گانه
عملگر شرطی یا عملگر سه گانه ?: کوتاه شده ی ساختار if-else است. نحو عملگر شرطی عبارت است از:
variable = Expression ? expression1 : expression2
در اینجا نحوه عملکرد آن آمده است.
- اگر Expression ، true باشد مقدار expression1 به variable اختصاص می یابد.
- اگر Expression ، false باشد مقدار expression2 به variable اختصاص می یابد.
مثال ۹ : عملگر سه گانه
class ConditionalOperator {
public static void main(String[] args) {
int februaryDays = 29;
String result;
result = (februaryDays == 28) ? “Not a leap year” : “Leap year”;
System.out.println(result);
}
}
خروجی
Leap year
عملگر های Bitwise و Bit Shift
برای انجام عملیات بیتی و شیفت بیتی در جاوا از این عملگرها استفاده می شود.
این عملگرها معمولا مورد استفاده قرار نمی گیرند.
دیگر عملگرهای انتساب
ما فقط در مورد یک عملگر انتساب= در ابتدای آموزش صحبت کردیم. به جز این عملگر ، عملگر های انتساب دیگری هم وجود دارد که کمک می کند تا کد تمیز تری بنویسیم.