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
Syntax:
switch(expression){ case value1:
//code to be executed;
break; //optional
case value2:
//code to be executed;
break; //optional
......
default:
//code to be executed if all cases are not matched;
}
در واقع عملکرد switch خیلی شبیه if پلکانی (if-else-if ladder) هست
به این صورت که اگر expression ی که در مقابل switch نوشته میشه برابر با یکی از مقادیر case ها باشه
اون بخش از کد اجرا میشه، همچنین ما میتونیم چندین case داشته باشیم اما فقط یه دستور default خواهیم داشت
همون طور که در این شکل مشخص هست وقتی experssion ی در مقابل switch قرار میگیره در صورتی که با مقدار case ی برابر باشه قطعه کدی (statement) که مربوط به اون case میشه رو اجرا میکنه، اگر بعد از این statement دستور break باشه به طور کامل از switch میاد بیرون و دیگه چیزی در switch اجرا نمیشه، اما اگر دستور break وجود نداشته باشه، بدون چک کردن case های بعدی، statement های بعدی اجرا میشن و در آخر هم statement مربوط به default اجرا میشه
البته اگر experssion با هیچ کدوم از اون case ها برابر نباشه باز هم statement مربوط به default اجرا میشه
البته اگر experssion با هیچ کدوم از اون case ها برابر نباشه باز هم statement مربوط به default اجرا میشه
public class SwitchExample { public static void main(String[] args) { int number=20;
switch(number){ case 10:
System.out.println("10");break;
case 20:
System.out.println("20");break;
case 30:
System.out.println("30");break;
default:
System.out.println("Not in 10, 20 or 30"); }
}
}
--------------------------------------------
Output:
20
در این مثال مقدار number فقط با case دوم برابر هست، پس کد مربوط به اون اجرا میشه و عدد ۲۰ چاپ میشه و چون بعدش break وجود داره از switch میاد بیرون
public class SwitchExample2 { public static void main(String[] args) { int number=20;
switch(number){ case 10:
System.out.println("10"); case 20:
System.out.println("20"); case 30:
System.out.println("30"); default:
System.out.println("Not in 10, 20 or 30"); }
}
}
--------------------------------------------
Output:
20
30
Not in 10, 20 or 30
در این مثال مقدار number با case دوم برابره و باز هم عدد ۲۰ چاپ میشه، اما چون دستور break وجود نداره، بقیه statement ها تا آخر اجرا میشه
Java For Loop
در جاوا برای تکرار کردن یک بخش از کد از for استفاده میکنیم، تعداد تکرار در این نوع loop مشخص هست
دو نوع for پر کاربرد وجود داره
- Simple For Loop
- For-each or Enhanced For Loop
Java Simple For Loop
Syntax:
for(initialization;condition;incr/decr){ //code to be executed
}
در این نوع for سه تا کار میشه انجام داد، مقداردهی اولیه (initialization)، چک کردن یک شرط (condition) و انجام یک عملیات (incr/decr)
public class ForExample { public static void main(String[] args) { for(int i=1;i<=10;i++){ System.out.println(i);
}
}
}
--------------------------------------------
Output:
1
2
3
4
5
6
7
8
9
10
Infinitive For Loop
اگر در for هیچ کدوم از اون ۳ بخش اصلی for رو ننویسیم
یک for بینهایت خواهیم داشت
public class ForExample { public static void main(String[] args) { for(;;){ System.out.println("infinitive loop"); }
}
}
--------------------------------------------
Output:
infinitive loop
infinitive loop
infinitive loop
infinitive loop
infinitive loop
ctrl+c
برای خروج از برنامه دکمههای c و ctrl رو میزنیم
Java For-each Loop
اما نوع دوم for در جاوا برای چرخیدن در یک آرایه (array) و یا یک مجموعه (collection) کاربرد داره
در این نوع for بر خلاف نوع اول که از index استفاده می کردیم از اعضای اون ارایه و یا مجموعه استفاده می کنیم، به این صورت که تک به تک اون اعضا خونده میشن تا بتونیم ازشون استفاده کنیم
Syntax:
for(Type var:array){ //code to be executed
}
در اینجا منظور از Type همون نوع اعضای آرایه ست
public class ForEachExample { public static void main(String[] args) { int arr[]={12,23,44,56,78}; for(int i:arr){ System.out.println(i);
}
}
}
--------------------------------------------
Output:
12
23
44
56
78
Java While Loop
عملکرد while هم به شکل for هست، به این صورت که برای تکرار بخشی از کد کاربرد داره، اما با این تفاوت که ما تعداد دفعات این تکرار رو نمی دونیم
Syntax:
while(condition){
//code to be executed
}
public class WhileExample { public static void main(String[] args) { int i=1;
while(i<=10){ System.out.println(i++);
}
}
}
--------------------------------------------
Output:
1
2
3
4
5
6
7
8
9
10
Java Infinitive While Loop
اجرای while بینهایت
public class WhileExample2 { public static void main(String[] args) { while(true){ System.out.println("infinitive while loop"); }
}
}
--------------------------------------------
Output:
infinitive while loop
infinitive while loop
infinitive while loop
infinitive while loop
infinitive while loop
ctrl+c
برای خروج از برنامه دکمههای c و ctrl رو میزنیم
Java do-while Loop
عملکرد do-while خیلی شبیه به while هست اما با این تفاوت که در اینجا حداقل یکبار statement اجرا میشه و بعد از اون شرط چک میشه
Syntax:
do{ //code to be executed
} while (condition);
public class DoWhileExample { public static void main(String[] args) { int i=1;
do{ System.out.println(i++);
}while(i<=10);
}
}
--------------------------------------------
Output:
1
2
3
4
5
6
7
8
9
10
Java Infinitive do-while Loop
و اجرای do-while بینهایت
public class DoWhileExample2 {
public static void main(String[] args) {
do{
System.out.println("infinitive do while loop");
}while(true);
}
} --------------------------------------------
Output:
infinitive do while loop
infinitive do while loop
infinitive do while loop
ctrl+c
Java Break Statement
برای خارج شدن از loop و switch می توان از دستور break استفاده کرد، اما معمولا به همراه یک شرط در loop و یک case در switch مثل https://t.me/java_me/95 استفاده میشه
Java Break Statement with Loop
public class BreakExample { public static void main(String[] args) { for(int i=1;i<=10;i++){ if(i==5){ break;
}
System.out.println(i);
}
}
}
--------------------------------------------
Output:
1
2
3
4
در این مثال for در صورتی index مون (همون i) به ۵ میرسه (یعنی شرط مون برقرار هست)، دستور break اجرا میشه و از for خارج میشه
Java Break Statement with Inner Loop
دقت کنید که در inner loop یا (for تو در تو) در صورتی که دستور break توی for داخلی باشه، در صورت برقرار بودن شرط فقط for داخلی break میشه
public class BreakExample2 { public static void main(String[] args) { for(int i=1;i<=3;i++){ for(int j=1;j<=3;j++){ if(i==2&&j==2){ break;
}
System.out.println("In i="+i+" j="+j); }
System.out.println("Out i="+i); }
}
}
--------------------------------------------
Output:
In i=1 j=1
In i=1 j=2
In i=1 j=3
Out i=1
In i=2 j=1
Out i=2
In i=3 j=1
In i=3 j=2
In i=3 j=3
Out i=3
در این مثال در صورت true بودن if برنامه فقط از for داخلی بیرون خواهد آمد
Java Continue Statement
برای skip کردن در loop می توان از دستور continue استفاده
به این ترتیب میتونیم اجرا شدن کد برای یکی از index ها رو skip کنیم
این دستور هم مثل دستور break همراه با یک شرط توی for میاد
public class ContinueExample { public static void main(String[] args) { for(int i=1;i<=10;i++){ if(i==5){ continue;
}
System.out.println(i);
}
}
}
--------------------------------------------
Output:
1
2
3
4
6
7
8
9
10
در این مثال وقتی index مون به ۵ میرسه اجرای عملیات skip میشه به بعدی
Java Continue Statement with Inner Loop
دستور continue در for تو در تو
public class ContinueExample2 { public static void main(String[] args) { for(int i=1;i<=3;i++){ for(int j=1;j<=3;j++){ if(i==2&&j==2){ continue;
}
System.out.println("In i="+i+" j="+j); }
System.out.println("Out i="+i); }
}
}
--------------------------------------------
Output:
In i=1 j=1
In i=1 j=2
In i=1 j=3
Out i=1
In i=2 j=1
In i=2 j=3
Out i=2
In i=3 j=1
In i=3 j=2
In i=3 j=3
Out i=3