๐ค์ ์ด๋ฌธ(Control Statement)
:ํ๋ก๊ทธ๋จ์ ํ๋ฆ(์ค๋ ๋Thread)์ ๋ฐ๊พธ๋ ๋ช ๋ น
=> ์กฐ๊ฑด๋ฌธ(if, switch), ๋ฐ๋ณต๋ฌธ(for, while), ๊ธฐํ(break, continue, return)
1๏ธโฃIf๋ฌธ
์กฐ๊ฑด์์ ์ํด ๋ช ๋ น์ ์ ํ ์คํํ๊ธฐ ์ํ ํค์๋
ํ์-1) if(์กฐ๊ฑด์) { ๋ช ๋ น; ๋ช ๋ น; ... }
=> ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ(true)์ธ ๊ฒฝ์ฐ ๋ธ๋ญ({}) ๋ด๋ถ์ ์์ฑ๋ ๋ช ๋ น๋ค์ ์คํ
=> ๋ธ๋ญ ๋ด๋ถ์ ์์ฑ๋ ๋ช ๋ น์ด ํ๋์ธ ๊ฒฝ์ฐ ๋ธ๋ญ ๊ธฐํธ ์๋ต ๊ฐ๋ฅ
ํ์-2) if(์กฐ๊ฑด์) { ๋ช ๋ น; ๋ช ๋ น; ... } else { ๋ช ๋ น; ๋ช ๋ น; ... }
=> ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ(๊ฑฐ์ง ๋๋ ์ฐธ)๋ก ๋ธ๋ญ์ ๊ตฌ๋ถํ์ฌ ๋ช ๋ น์ ์ ํ ์คํ
ํ์-3) if(์กฐ๊ฑด์) { ๋ช ๋ น; ๋ช ๋ น; ... } else if(์กฐ๊ฑด์) { ๋ช ๋ น; ๋ช ๋ น; ... }
/else if(์กฐ๊ฑด์) { ๋ช ๋ น; ๋ช ๋ น; ... } else { ๋ช ๋ น; ๋ช ๋ น; ... }
=> ์กฐ๊ฑด์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ํด๋น ์กฐ๊ฑด์ธ ์ฐธ์ธ ๊ฒฝ์ฐ ๋ธ๋ญ ๋ด๋ถ์ ์์ฑ๋ ๋ช ๋ น ์คํ
=> ๋ง์ง๋ง else ๊ตฌ๋ฌธ์ ๋ธ๋ญ์ ์์ฑ๋ ๋ช ๋ น์ ๋ชจ๋ ์กฐ๊ฑด์์ด ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ ์คํ - else ์๋ต ๊ฐ๋ฅ
์์ 1
public class IfApp {
public static void main(String[] args) {
int su=90;//su์ ์ด๊ธฐ๊ฐ์ 90
su=40;//su์ ๊ฐ์ 40์ผ๋ก ๋ณ๊ฒฝ
//๋ณ์๊ฐ์ด 50์ด์์ธ ๊ฒฝ์ฐ ํ๋ฉด์ ์ถ๋ ฅ๋๋๋ก ํ๋ก๊ทธ๋จ ์์ฑ
if(su>=50) {
System.out.println("su = "+su);
}
=> su์ ๊ฐ์ด 40์ผ๋ก ๋ณ๊ฒฝ๋์ด '50 ์ด์'์ด๋ผ๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ๋ชปํ๋ฏ๋ก ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์์.
์์ 2
int score=50;
//๋ณ์๊ฐ์ด 60 ์ด์์ธ ๊ฒฝ์ฐ ํฉ๊ฒฉ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ณ 60 ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ ๋ถํฉ๊ฒฉ ๋ฉ์ธ์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
/*if(score>=60) {
System.out.println("[๊ฒฐ๊ณผ]์ ์๊ฐ 60์ ์ด์์ด๋ฏ๋ก <ํฉ๊ฒฉ>์
๋๋ค.");
}
if(score<60) {
System.out.println("[๊ฒฐ๊ณผ]์ ์๊ฐ 60์ ๋ฏธ๋ง์ด๋ฏ๋ก <๋ถํฉ๊ฒฉ>์
๋๋ค.");
}*/
if(score>=60) {
System.out.println("[๊ฒฐ๊ณผ]์ ์๊ฐ 60์ ์ด์์ด๋ฏ๋ก <ํฉ๊ฒฉ>์
๋๋ค.");
} else {
System.out.println("[๊ฒฐ๊ณผ]์ ์๊ฐ 60์ ๋ฏธ๋ง์ด๋ฏ๋ก <๋ถํฉ๊ฒฉ>์
๋๋ค.");
}
=> ์ฃผ์์ฒ๋ฆฌ ๋ ๋ถ๋ถ์ฒ๋ผ if๋ฌธ๋ง ํ์ฉํด์ ์กฐ๊ฑด์์ ๋ง๋ค ์๋ ์์ผ๋, ๋ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ด ์๋ค.
๋ฐ๋ก ๊ทธ ์๋์ ๊ฐ์ด if๋ฌธ๊ณผ else๋ฌธ์ ํจ๊ป ์ฐ๋ ๊ฒ์ด๋ค. ์์ผ๋ก if~else๋ ์ง๊ฟ์ฒ๋ผ ์ธ ์์ .
score์ 50์ด์์ผ๋ฏ๋ก ์๋์ ๊ฐ์ด ์ถ๋ ฅ๋จ.
[๊ฒฐ๊ณผ]์ ์๊ฐ 60์ ๋ฏธ๋ง์ด๋ฏ๋ก <๋ถํฉ๊ฒฉ>์ ๋๋ค.
์์ 3
int num=9;
//๋ณ์๊ฐ์ ํ์์ ์ง์๋ก ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
if(num % 2 != 0) {
System.out.println(num+" = ํ์์
๋๋ค.");
} else {
System.out.println(num+" = ์ง์์
๋๋ค.");
}
System.out.println("==================================================");
char mun='O';
//๋ณ์๊ฐ์ ์๋ฌธ์ ๋๋ ๋น์๋ฌธ์๋ก ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
if(mun >= 'A' && mun <='Z' || mun >= 'a' && mun <= 'z') {
System.out.println("[๊ฒฐ๊ณผ]"+mun+" = ์๋ฌธ์");
} else {
System.out.println("[๊ฒฐ๊ณผ]"+mun+" = ์๋ฌธ์๊ฐ ์๋"
}
System.out.println("==================================================");
boolean bool=false;
if(!bool) {
System.out.println("ํ์ฌ ๋ณ์๊ฐ์ [๊ฑฐ์ง]์
๋๋ค.");
} else {
System.out.println("ํ์ฌ ๋ณ์๊ฐ์ [์ฐธ]์
๋๋ค.");
}
=>
* num % 2 !=0 ์ ์๋ฏธ๋ 'num์ 2๋ก ๋๋ ๋๋จธ์ง๊ฐ 0๊ณผ ๊ฐ์ง ์๋ค' ์ด๋ค. ์ฆ ํ์๋ฅผ ์๋ฏธํจ.
* char๊ฐ A๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , Z๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ ๊ฒ์ ๋ฒ์๊ฐ A~Z๋ผ๋ ๊ฒ์. ์ฆ, A~Z, a~z ์ํ๋ฒณ ์ ์ฒด ๋ฒ์์ ํด๋นํ๋ฉด ์๋ฌธ์๋ผ๊ณ ์ถ๋ ฅํ๋ ๊ฒ.
*bool์ ์ด๊ธฐ๊ฐ์ false.
false๊ฐ ์ฐธ์ด ๋๋ ค๋ฉด !bool ์ ์กฐ๊ฑด์ ๋ฃ์ด์ค๋ค.
๊ทธ๋ผ ์ฐธ์ด๋๊น "ํ์ฌ ๋ณ์๊ฐ์ [๊ฑฐ์ง]์ ๋๋ค."๊ฐ ์ถ๋ ฅ๋จ.
[Console ์ถ๋ ฅ ๊ฒฐ๊ณผ]
9 = ํ์์ ๋๋ค.
==================================================
[๊ฒฐ๊ณผ]O = ์๋ฌธ์
==================================================
ํ์ฌ ๋ณ์๊ฐ์ [๊ฑฐ์ง]์ ๋๋ค.
์์ 4
int jumsu=85;
//๋ณ์๊ฐ์ด 0~100 ๋ฒ์์ ์ ํจํ ๊ฐ์ด ๋ง๋์ง๋ฅผ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
if(jumsu>=0 && jumsu<=100) {
//๋ณ์๊ฐ(์ ์)์ ์ด์ฉํ์ฌ ๋ฑ๊ธ(ํ์ )์ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
//100 ~ 90 : A, 89 ~ 80 : B, 79 ~ 70 : C, 69 ~ 60 : D, 59 ~ 0: F
String grade="";//ํ์ ์ ์ ์ฅํ๊ธฐ ์ํ ๋ณ์
if(jumsu >= 90) {
grade = "A";
} else if(jumsu >= 80) {
grade = "B";
} else if(jumsu >= 70) {
grade = "C";
} else if(jumsu >= 60) {
grade = "D";
} else {
grade = "F";
}
System.out.println("[๊ฒฐ๊ณผ]"+jumsu+"์ = "+grade+"ํ์ ");
}
2๏ธโฃSwitch๋ฌธ
๊ฐ์ ๋น๊ตํ์ฌ ๋ช ๋ น์ ์ ํ ์คํํ๊ธฐ ์ํ ํค์๋ - ์ค์๊ฐ ๋น๊ต ๋ถ๊ฐ๋ฅ
=> ๋น๊ต๋์์๋ ๋ณ์ ๋๋ ์ฐ์ฐ์์ ์์ฑํ์ฌ ๋น๊ตํ๊ณ ์ ํ๋ ๊ฐ ์ ๊ณต
=> ๋น๊ต๋์์ ๊ฐ์ case ํค์๋๋ก ์ ๊ณต๋๋ ๊ฐ๊ณผ ์ฐจ๋ก๋๋ก ๋น๊ตํ์ฌ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ case ๊ตฌ๋ฌธ์ ์์ฑ๋ ๋ช
๋ น๋ถํฐ ํ๋จ์ ์์ฑ๋ ๋ชจ๋ ๋ช
๋ น๋ค์ ์คํ
=> case ํค์๋๋ก ์ ๊ณต๋๋ ๊ฐ์ ๋ฆฌํฐ๋ด ๋๋ ์์(Constant)๋ง ์์ฑ ๊ฐ๋ฅ
=> case ํค์๋๋ก ์ ๊ณต๋๋ ๊ฐ์ด ์ค๋ณต๋์ด ์์ฑ๋ ๊ฒฝ์ฐ ์๋ฌ ๋ฐ์
=> ๋ธ๋ญ ๋ด๋ถ์ ๋ช
๋ น ์ค break ๋ช
๋ น์ ์คํํ๋ฉด switch ๊ตฌ๋ฌธ ์ข
๋ฃ
=> ๋น๊ต๋์์ผ๋ก ์ ๊ณต๋๋ ๊ฐ์ด case ์ ๊ณต๋๋ ๋ชจ๋ ๊ฐ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ default ํค์๋๋ก ์ ๊ณต๋๋ ๋ช
๋ น ์คํ - ์๋ต ๊ฐ๋ฅ
ํ์) switch(๋น๊ต๋์) {
case ๊ฐ1 : ๋ช ๋ น; ๋ช ๋ น; ... [break;]
case ๊ฐ2 : ๋ช ๋ น; ๋ช ๋ น; ... [break;]
case ๊ฐ3 : ๋ช ๋ น; ๋ช ๋ น; ... [break;]
...
[default : ๋ช ๋ น; ๋ช ๋ น; ...]
}
์์
public class SwitchApp {
public static void main(String[] args) {
int choice=1;
switch(choice) {
case 1:
System.out.println("์์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
case 2:
System.out.println("๊ธ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
case 3:
System.out.println("ํ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
}
System.out.println("========================================================");
switch(choice) {
case 1:
System.out.println("์์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
break;
case 2:
System.out.println("๊ธ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
break;
case 3:
System.out.println("ํ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.");
break;
default:
System.out.println("์ง๊ตฌ๋ก ์ด๋ํฉ๋๋ค.");
}
System.out.println("========================================================");
int jumsu=85;
//๋ณ์๊ฐ์ด 0~100 ๋ฒ์์ ์ ํจํ ๊ฐ์ด ๋ง๋์ง๋ฅผ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
if(jumsu>=0 && jumsu<=100) {
//๋ณ์๊ฐ(์ ์)์ ์ด์ฉํ์ฌ ๋ฑ๊ธ(ํ์ )์ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
String grade;
switch(jumsu/10) {
case 10:
case 9: grade ="A"; break;
case 8: grade ="B"; break;
case 7: grade ="C"; break;
case 6: grade ="D"; break;
default: grade="F";
}
System.out.println("[๊ฒฐ๊ณผ]"+jumsu+"์ = "+grade+"ํ์ ");
}
System.out.println("========================================================");
String kor="๋";
String eng="";
//๋ฌธ์์ด์ ๋น๊ตํ์ฌ ๋ช
๋ น ์ ํ ์คํ ๊ฐ๋ฅ
switch(kor) {
case "ํ๋": eng="One"; break;
case "๋": eng="Two"; break;
case "์
": eng="Three"; break;
}
System.out.println("[๊ฒฐ๊ณผ]"+kor+" = "+eng);
System.out.println("========================================================");
}
}
=>
[Console ์ถ๋ ฅ ๊ฒฐ๊ณผ]
์์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.
๊ธ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.
ํ์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.
========================================================
์์ฑ์ผ๋ก ์ด๋ํฉ๋๋ค.
========================================================
[๊ฒฐ๊ณผ]85์ = Bํ์
========================================================
[๊ฒฐ๊ณผ]๋ = Two
========================================================
์ฒซ๋ฒ์งธ์์๋ break๊ฐ ์์ผ๋ Case 1๋ถํฐ ๋๊น์ง ๋ค ์ถ๋ ฅ๋จ.
๊ทธ๋ฌ๋ ๋๋ฒ์งธ switch๋ฌธ์์๋ ๊ฐ๊ฐ ๋ธ๋ ์ดํฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ Case1๋ง ์ถ๋ ฅํ๊ณ break๋ก ๋น ์ ธ๋์ค๋ ๊ฒ์ด๋ค.
๋ if๋ฌธ์ผ๋ก ์ ์๋ฅผ ์ด์ฉํด์ ํ์ ์ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋๋ฐ,
๋๊ฐ์ ํ๋ก๊ทธ๋จ์ switch๋ฌธ์ผ๋ก๋ ์์ฑํ ์ ์๋ค.
๋ฌธ์์ด๋ ๋น๊ตํ ์ ์์ด, case ๋ค์ ์ ์๊ฐ ์๋ ๋ฌธ์์ด "ํ๋" "๋" ๋ฑ์ ๋ฃ์ ์ ์๋ค.
'Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java]break๋ฌธ & continue๋ฌธ (0) | 2023.11.29 |
---|---|
[Java]๋ฐ๋ณต๋ฌธ - For๋ฌธ & While๋ฌธ(+do-while๋ฌธ) (0) | 2023.11.29 |
[Java]์ฐ์ฐ์(๋จํญ ์ฐ์ฐ์ / ์ดํญ ์ฐ์ฐ์ / ์ผํญ ์ฐ์ฐ์) (1) | 2023.11.25 |
[Java]ํ๋ณํ(Type Casting) (1) | 2023.11.23 |
[Java] ๋ณ์์ ๋ฐ์ดํฐ ํ์ (์๋ฃํ) (2) | 2023.11.22 |