عملگر یا Operator در جاوا علامتی می باشد که برای انجام عملیات ها مورد استفاده قرار می گیرد. برای مثال +، *، /، - هر کدام یک اپراتور هستند.
از معروف ترین انواع عملگرهای جاوا می توان به موارد زیر اشاره کرد:
|
از عملگرهای یگانی برای انجام عملیاتهای مختلفی در جاوا استفاده می شود که تنها به یک عملوند یا Operand نیاز دارد مانند:
مثال:
class OperatorExample{ public static void main(String args[]){ int x=10; System.out.println(x++);//10 (11) System.out.println(++x);//12 System.out.println(x--);//12 (11) System.out.println(--x);//10 }}
خروجی:
10 12 12 10
مثال 2 از عملگر یگانی:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=10; System.out.println(a++ + ++a);//10+12=22 System.out.println(b++ + b++);//10+11=21 }}
خروجی:
22 21
عملگر یگانی در جاوا: ~ و !
class OperatorExample{ public static void main(String args[]){ int a=10; int b=-10; boolean c=true; boolean d=false; System.out.println(~a);//-11 (minus of total positive value which starts from 0) System.out.println(~b);//9 (positive of total minus, positive starts from 0) System.out.println(!c);//false (opposite of boolean value) System.out.println(!d);//true }}
خروجی
-11 9 false true
اپراتورهای جبری برای انجام عملیات های جمع و تفریق، تقسیم و ضرب همانند ریاضی استفاده می شوند.
مثال عملگر جبری:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; System.out.println(a+b);//15 System.out.println(a-b);//5 System.out.println(a*b);//50 System.out.println(a/b);//2 System.out.println(a%b);//0 }}
خروجی:
15 5 50 2 0
مثال عملگر جبری در عبارتها:
class OperatorExample{ public static void main(String args[]){ System.out.println(10*10/5+3-1*4/2); }}
خروجی:
21
از اپراتور شیفت به چپ یا >>، تمام بیت های موجود در یک مقدار را به تعداد مشخصی بار به سمت چپ شیفت میدهد.
مثال:
class OperatorExample{ public static void main(String args[]){ System.out.println(10<<2);//10*2^2=10*4=40 System.out.println(10<<3);//10*2^3=10*8=80 System.out.println(20<<2);//20*2^2=20*4=80 System.out.println(15<<4);//15*2^4=15*16=240 }}
خروجی:
40 80 80 240
اپراتور شیفت به راست یا <<، مقدار عملوند سمت چپ را به مقدار تعداد بیت های مشخص شده توسط عملوند سمت راست، به راست حرکت می دهد.
مثال:
class OperatorExample{ public static void main(String args[]){ System.out.println(10>>2);//10/2^2=10/4=2 System.out.println(20>>2);//20/2^2=20/4=5 System.out.println(20>>3);//20/2^3=20/8=2 }}
خروجی:
2 5 2
مثال (مقایسه << و<<<):
class OperatorExample{ public static void main(String args[]){ //For positive number, >> and >>> works same System.out.println(20>>2); System.out.println(20>>>2); //For negative number, >>> changes parity bit (MSB) to 0 System.out.println(-20>>2); System.out.println(-20>>>2); }}
خروجی:
5 5 -5 1073741819
اپراتور && در صورتی که شرط اول صحیح نباشد، شرط دوم را به طور کل چک نمی کند در حالی که اپراتور & هر دو شرط را برای صحیح بودن چک می کند.
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a<b&&a<c);//false && true = false System.out.println(a<b&a<c);//false & true = false }}
خروجی:
false false
مثال مقایسه && و &:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a<b&&a++<c);//false && true = false System.out.println(a);//10 because second condition is not checked System.out.println(a<b&a++<c);//false && true = false System.out.println(a);//11 because second condition is checked }}
خروجی:
false 10 false 11
اپراتور || در صورتی که شرط اول صحیح باشد، شرط دوم را چک نمی کند در حالی که اپراتور | مستقل از صحیح یا غلط بودن شرط اول، هر دو شرط را بررسی می کند.
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a>b||a<c);//true || true = true System.out.println(a>b|a<c);//true | true = true //|| vs | System.out.println(a>b||a++<c);//true || true = true System.out.println(a);//10 because second condition is not checked System.out.println(a>b|a++<c);//true | true = true System.out.println(a);//11 because second condition is checked }}
خروجی:
true true true 10 true 11
این اپراتور تنها اپراتوری می باشد که سه عملوند می گیرد و جایگزینی یک خطی برای عبارت معروف if-then-else که بسیار پرکاربرد است، می باشد.
مثال 1:
class OperatorExample{ public static void main(String args[]){ int a=2; int b=5; int min=(a<b)?a:b; System.out.println(min); }}
خروجی:
2
مثال 2:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int min=(a<b)?a:b; System.out.println(min); }}
خروجی:
5
اپراتور تخصیص در جاوا از پر کاربردترین اپراتورهای موجود می باشد که مقدار عملوند سمت چپ را به عملوند سمت راست تخصیص می دهد.
مثال 1:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=20; a+=4;//a=a+4 (a=10+4) b-=4;//b=b-4 (b=20-4) System.out.println(a); System.out.println(b); }}
خروجی:
14 16
مثال 2:
class OperatorExample{ public static void main(String[] args){ int a=10; a+=3;//10+3 System.out.println(a); a-=4;//13-4 System.out.println(a); a*=2;//9*2 System.out.println(a); a/=2;//18/2 System.out.println(a); }}
خروجی:
13 9 18 9
مثال (اضافه کردن داده از نوع Short):
class OperatorExample{ public static void main(String args[]){ short a=10; short b=10; //a+=b;//a=a+b internally so fine a=a+b;//Compile time error because 10+10=20 now int System.out.println(a); }}
خروجی:
Compile time error
بعد از تایپ کست:
class OperatorExample{ public static void main(String args[]){ short a=10; short b=10; a=(short)(a+b);//20 which is int now converted to short System.out.println(a); }}
خروجی:
20
عبارت if در جاوا صحیح یا غلط بودن یک شرط را بررسی می کند. عبارت if انواع متفاوتی دارد:
عبارت if در جاوا یک شرط را بررسی می کند و در صورت صحیح بودن آن، کد درون if را اجرا می کند.
سینتکس:
if(condition){ //code to be executed }
مثال:
public class IfExample { public static void main(String[] args) { int age=20; if(age>18){ System.out.print("Age is greater than 18"); } } }
خروجی:
Age is greater than 18
عبارت if-else نیز شرط را چک می کند و در صورت صحیح بودن، کد درون بلوک if را اجرا می کند در غیر این صورت کد درون بلوک else.
سینتکس:
if(condition){ //code if condition is true }else{ //code if condition is false }
مثال:
public class IfElseExample { public static void main(String[] args) { int number=13; if(number%2==0){ System.out.println("even number"); }else{ System.out.println("odd number"); } } }
خروجی:
odd number
این عبارت شرطهای متوالی را چک می کند و در صورت درست بودن هرکدام، کد درون همان بلوک را اجرا می کند.
سینتکس:
if(condition1){ //code to be executed if condition1 is true }else if(condition2){ //code to be executed if condition2 is true } else if(condition3){ //code to be executed if condition3 is true } ... else{ //code to be executed if all the conditions are false }
مثال:
public class IfElseIfExample { public static void main(String[] args) { int marks=65; if(marks<50){ System.out.println("fail"); } else if(marks>=50 && marks<60){ System.out.println("D grade"); } else if(marks>=60 && marks<70){ System.out.println("C grade"); } else if(marks>=70 && marks<80){ System.out.println("B grade"); } else if(marks>=80 && marks<90){ System.out.println("A grade"); }else if(marks>=90 && marks<100){ System.out.println("A+ grade"); }else{ System.out.println("Invalid!"); } } }
خروجی:
C grade
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.