Java Shift Operator Example: Left Shift
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
}
}
--------------------------------------------
Output:
40
80
80
240
Java Shift Operator Example: Right Shift
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
}
}
--------------------------------------------
Output:
2
5
2
Java AND Operator Example: Logical && and Bitwise &
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
}
}
--------------------------------------------
Output:
false
false
علامت && و & در جاوا
این دو علامت بصورت - و - بین دوتا شرط قرار میگیره
تفاوت بین این دوتا این هست که در && شرط اول چک میشه و در صورت true بودن ، شرط بعدی چک میشه اما اگر شرط اولی false باشه دیگه شرط دومی چک کردن نمیشه
ولی در & هر دو شرط چک میشن، یعنی حتی اگر شرط اولی هم false باشه باز هم شرط دومی چک میشه
Java AND Operator Example: Logical && vs Bitwise &
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
System.out.println(a<b & a++<c);
// false && true = false
System.out.println(a);//11
}
}
--------------------------------------------
Output:
false
10
false
11
در این مثال در چاپ اول از علامت && استفاده شده و چون شرط اول false هست دیگه شرط دوم چک نمیشه و به همین دلیل در خط بعد وقتی a رو چاپ میکنیم همون ۱۰ چاپ میشه
اما در چاپ سوم از علامت & استفاده شده و با اینکه شرط اول false هست باز هم شرط بعدی چک میشه و a++ اجرا میشه، بخاطر همین در خط بعدی وقتی a رو چاپ میکنیم، ۱۱ چاپ میشه
Java OR Operator Example: Logical || and Bitwise |
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
System.out.println(a>b | a++<c);
//true | true = true
System.out.println(a);//11
}
}
--------------------------------------------
Output:
true
true
true
10
true
11
علامت || و | در جاوا
این دو علامت بصورت - یا - بین دوتا شرط قرار میگیره
تفاوت بین این دوتا این هست که در || شرط اول چک میشه و در صورت false بودن شرط میره سراغ شرط بعدی و اونو هم چک میکنه اما اگر شرط اولی true باشه دیگه شرط دومی چک نمیشه
ولی در | هر دو شرط چک میشن، یعنی حتی اگر شرط اولی هم true باشه باز هم شرط دومی چک میشه
در این مثال در چاپ سومی از علامت || استفاده شده و چون شرط اول true هست دیگه شرط دوم چک نمیشه و به همین دلیل در خط بعد وقتی a رو چاپ میکنیم همون ۱۰ چاپ میشه
اما در چاپ پنجم از علامت | استفاده شده و با اینکه شرط اول true هست باز هم شرط بعدی چک میشه و a++ اجرا میشه، بخاطر همین در خط بعدی وقتی a رو چاپ میکنیم، ۱۱ چاپ میشه
Java Ternary Operator Example
class OperatorExample{ public static void main(String args[]){ int a=2;
int b=5;
int c=10;
int min1=(a<b)?a:b;
System.out.println(min1);
int min2=(c<b)?c:b;
System.out.println(min2);
}
}
--------------------------------------------
Output:
2
5
Java Assignment Operator Example
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);
}
}
--------------------------------------------
Output:
14
16
Java Assignment Operator Example: Adding 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;
System.out.println(a);
}
}
--------------------------------------------
Output:
Compile time error
اما بعد از type casting
class OperatorExample{ public static void main(String args[]){ short a=10;
short b=10;
a=(short)(a+b);//20
System.out.println(a);
}
}
--------------------------------------------
Output:
20
برای تست کردن یک شرط در جاوا از if استفاده میکنیم، نتیجه این شرط boolean هست که یا میتونه true باشه یا false
۴ نوع if وجود داره
۴ نوع if وجود داره
if statement
if-else statement
nested if statement
if-else-if ladder
Java IF Statement
Syntax:
if(condition) { //code to be executed
}
در این نوع if، فقط در صورت true بودن شرط کدی که در آکلاد وجود داره رو اجرا میشه
public class IfExample { public static void main(String[] args) { int age = 20;
if (age > 18) { System.out.print("Age is greater than 18"); }
}
}
--------------------------------------------
Output:
Age is greater than 18
Java IF-else Statement
Syntax:
if (condition) { //code if condition is true
} else { //code if condition is false
}
در این نوع if در صورت true بودن شرط، کدی که در آکلاد اول (if block) وجود داره اجرا میشه، اما در صورت false بودن شرط کدی که در آکلاد دوم (else block) وجود داره اجرا میشه
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"); }
}
}
--------------------------------------------
Output:
odd number
Java IF-else-if ladder Statement
Syntax:
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
}
این نوع if یا به اصلاح if پلکانی برای چک کردن چندین شرط و اجرای کد مربوط به همون شرط استفاده میشه
به این صورت که در صورت true بودن شرط اول، فقط block محدود به اون شرط اجرا میشه و دیگه بقیه شرط ها و block هاشون اجرا نمیشن، اما در صورت 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!"); }
}
}
--------------------------------------------
Output:
C grade