class Simple { public static void main (String[] args) { byte a = 10;
byte b = 10;
// byte c = a + b;
// Compile Time Error: because a + b = 20 will be int
byte c = (byte) (a + b);
System.out.println(c);
}
}
--------------------------------------------
Output:
20
در این مثال به دلیل اینکه جمع دو عدد a و b برابر یه عدد به صورت int خواهد بود حتما باید با استفاده از casting جمع دو عدد در نوع byte رو دوباره به byte تبدیل کنیم
و خب در غیر این صورت کامپایل error خواهیم داشت
Java Unary Operator Example: ++ and --
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
}
}
--------------------------------------------
Output:
10
12
12
10
در این مثال عملاتهای ++ و — رو نشون میده
همون طور که میبینید اگر عملات در جلوی متغیر
(x++)
وجود داشته باشه اول متغیر خونده میشه و بعد عملیات روی متغیر اعمال میشه
اما اگر عملات قبل از متغیر
(--x)
باشه، اول عملیات اجرا میشه و بعد متغیر خونده میشه
Java Unary Operator Example 2: ++ and --
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
}
}
--------------------------------------------
Output:
22
21
Java Unary Operator Example: ~ and !
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
}
}
--------------------------------------------
Output:
-11
9
false
true
در این مثال دو نوع علامت مخالف وجود داره ! و ~
اولین علامت مخالف ~ هست که در واقع قرینه یک عدد رو به ما میده اما نه بصورت ریاضی
مثلا قرینه عدد 5 میشه -5 و بر عکسش
اما در اینجا اینطور نیست و وقتی میگیم قرینه عدد ۵ چون ۰ رو هم جز اعداد مثبت حساب میشه پس ما ۶ تا عدد مثبت داریم که قرینه اون میشه -۶
و برعکس اون قرینه عدد -۵ میشه ۴، چون ۵تا عدد مثبت از ۰ میشه ۴
و علامت ! هم که در مخالف true و false بودن متغیر کاربرد داره
Java Arithmetic Operator Example
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
}
}
--------------------------------------------
Output:
15
5
50
2
0
Java Arithmetic Operator Example: Expression
class OperatorExample{ public static void main (String args[]) { System.out.println(10*10/ 5 + 3 - 1*4/2);
}
}
--------------------------------------------
Output:
21
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