Day 05(21.09.06) - Gomserker/Java-101 GitHub Wiki
05. ์กฐ๊ฑด๋ฌธ - if
1. if๋ฌธ
if (condition) {
condition์ด true์ผ๋์ ์คํ๋ฌธ1
condition์ด true์ผ๋์ ์คํ๋ฌธ2
...
}
์์ ๊ฐ์ ํํ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์กฐ๊ฑด์์๋ true ๋๋ false ๊ฐ์ ์ฐ์ถํ ์ ์๋ ์ฐ์ฐ์์ด๋ boolean ๋ณ์๊ฐ ์ฌ ์ ์๋ค.
์ฌ๊ธฐ์ ์กฐ๊ฑด์์ด true์ผ ๋, ๋ธ๋ก์ ์คํํ๋ฉฐ, false์ผ ๋ ๋ธ๋ก์ ์คํํ์ง ์๋๋ค.
โป ๋ธ๋ก์ด๋ ์ค๊ดํธ๋ก ๋ฌถ์ธ ๊ตฌ์ญ์ ๋งํ๋ค.
public class IfExample {
public static void main(String[] args) {
int score = 93;
if(score >= 90) { //score์ ๊ฐ์ด 93์ด๋ฏ๋ก, condition์ ๊ฐ์ด true์ด๋ค.
System.out.println("์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค."); //condition์ ๊ฐ์ด true์ด๋ฏ๋ก ์๋ ์คํ๋ฌธ์ด ์คํ๋๋ค.
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
}
}
}
2. if-else๋ฌธ
if๋ฌธ์ else ๋ธ๋ก๊ณผ ํจ๊ป ์ฌ์ฉ๋์ด condition์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์คํ ๋ธ๋ก์ ์ ํํ๋ค.
if๋ฌธ์ ์กฐ๊ฑด์ด true์ด๋ฉด, if๋ฌธ์ ๋ธ๋ก์ด ์คํ๋๊ณ , ์กฐ๊ฑด์์ด false์ด๋ฉด else ๋ธ๋ก์ด ์คํ๋๋ค.
์ฆ, condition์ true-false ์ฌ๋ถ์ ๋ฐ๋ผ if ๋ธ๋ก, else ๋ธ๋ก ์ค ํ๋์ ๋ธ๋ก๋ง ์คํํ๊ณ ์ ์ฒด if๋ฌธ์ ๋ฒ์ด๋๊ฒ ๋๋ค.
์ฝ๊ฒ ๋งํ๋ฉด ์ด๊ฑฐ ์๋๋ฉด ์ ๊ฑฐ๋ผ๋ ์๋ฆฌ๋ค.
public class IfElseExample {
public static void main(String[] args) {
int score = 85;
if(score >= 90) {
System.out.println("์ ์๊ฐ 90๋ณด๋ค ํฝ๋๋ค.");
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
} else {
//condition์ ๊ฐ์ด false์ผ ๋, ์ด else ๋ธ๋ก์ด ์คํ๋๋ค.
//์ด ๊ฒฝ์ฐ์ score์ ๊ฐ์ด 85์ ์ผ๋ก ์ ์ธ๋์๊ธฐ์ condition์ ๊ฐ์ด false, ๋ฐ๋ผ์ else ๋ธ๋ก์ด ๊ตฌ๋ฌธ์ด ์คํ๋๋ค.
System.out.println("์ ์๊ฐ 90๋ณด๋ค ์์ต๋๋ค.");
System.out.println("๋ฑ๊ธ์ B์
๋๋ค.");
}
}
}
3. if-else if-else๋ฌธ
์กฐ๊ฑด๋ฌธ์ด ์ฌ๋ฌ ๊ฐ์ผ๋, ์ฒ์ if๋ฌธ์ ์กฐ๊ฑด์์ด false์ผ ๊ฒฝ์ฐ ๋ค๋ฅธ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์คํ ๋ธ๋ก์ ์ ํํ ์ ์๋ค.
if ๋ธ๋ก์ ๋์ else if๋ฌธ์ ๋ถ์ด๋ฉด ๋๋๋ฐ, else if ๋ฌธ์ ๊ฐฏ์์๋ ์ ํ์ด ์์ผ๋ฉฐ, true๊ฐ ๋๋ ๋ธ๋ก๋ง ์คํํ๊ณ ์ ์ฒด if๋ฌธ์ ๋ฒ์ด๋๋ค.
๋ง์ง๋ง์๋ else if๊ฐ ์๋ else ๋ธ๋ก์ ์ถ๊ฐํ ์ ์๋๋ฐ, ๋ชจ๋ ์กฐ๊ฑด์์ด false์ผ ๊ฒฝ์ฐ else ๋ธ๋ก์ ์คํํ๊ณ ์ ์ฒด if๋ฌธ์ ๋ฒ์ด๋๋ค.
public class IfElseIfElseExample {
public static void main(String[] args) {
int score = 75;
if(score >= 90) { //score๊ฐ 90 ์ดํ ์ด๋ฏ๋ก false, ์ด ๋ธ๋ก์ ์คํ๋์ง ์์.
System.out.println("์ ์๊ฐ 90~100์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ A์
๋๋ค.");
} else if(score >= 80) { //score๊ฐ 80 ์ดํ ์ด๋ฏ๋ก false, ์ด ๋ธ๋ก์ ์คํ๋์ง ์์.
System.out.println("์ ์๊ฐ 80~89์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ B์
๋๋ค.");
} else if(score >= 70) { //score๊ฐ 70 ์ด์์ด๋ฏ๋ก true, ๋ฐ๋ผ์ ์ด ๋ธ๋ก์ด ์คํ๋จ.
System.out.println("์ ์๊ฐ 70~79์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ C์
๋๋ค.");
} else { //90์ด์, 80์ด์, 70์ด์ ์ ๋ถ ํด๋น๋์ง ์์ ๊ฒฝ์ฐ ์ด ๋ธ๋ก์ด ์คํ๋จ.
System.out.println("์ ์๊ฐ 70 ๋ฏธ๋ง์
๋๋ค.");
System.out.println("๋ฑ๊ธ์ D์
๋๋ค.");
}
}
}
ํ์ง๋ง if else๋ฌธ์๋ ๊ตฌ์กฐ์ ์ธ ๋ฌธ์ ๊ฐ ์๋๋ฐ,
์ ์ ํ๋๋ฅผ ์
๋ ฅํ์ ๋, ๋ช์ ๋ฐฐ์์ธ์ง๋ฅผ ์๋ ค์ฃผ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
if (a % 5 == 0) {
System.out.println(a + "๋ 5์ ๋ฐฐ์");
} else if (a % 2 == 0) {
System.out.println(a + "๋ 2์ ๋ฐฐ์");
} else if (a % 4 == 0) {
System.err.println(a + "๋ 4์ ๋ฐฐ์");
} else {
System.out.println("ํด๋น ์์");
}
์ด์ ๊ฐ์ด ์์ฑํ ๊ฒฝ์ฐ, 4๋ฅผ ์
๋ ฅํ๋ฉด 2์ ๋ฐฐ์๋ฅผ ์ถ๋ ฅํ๋ ๋ธ๋ก์ ๊ฑธ๋ ค์ 4์ ๋ฐฐ์๋ผ๋ ๋ต์ ์ป์ง ๋ชปํ๋ค.
์ฆ, ๊ณต๋ฐฐ์์ ๊ฐ์ด ๊ต์งํฉ์ด ์๋ ๋ฌธ์ ์ ๊ฒฝ์ฐ if-else๋ฌธ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ฌธ์ ๊ฐ ์๋นํ ๋ณต์กํด์ง๋๋ฐ, ์ด ๊ฒฝ์ฐ์๋ ๋ค์ค if๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ค์ค if๋ฌธ์ด๋ผ๊ณ ํด์ ํน๋ณํ ๊ฑด ์๊ณ , if-else๋ฌธ์ด ์๋ ์๋์ ๊ฐ์ด if ๋ธ๋ก์ ๋ณต์ ์์ฑํ๋ฉด ๋๋ค.
if(a % 2 == 0) {
System.out.println(a + "๋ 2์ ๋ฐฐ์");
}
if (a % 4 == 0) {
System.out.println(a + "๋ 4์ ๋ฐฐ์");
}
4. ์ค์ฒฉ if๋ฌธ
if๋ฌธ์ ๋ธ๋ก ๋ด๋ถ์ ๋ ๋ค๋ฅธ if๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ.
์ค์ฒฉ์ ๋จ๊ณ์๋ ์ ํ์ด ์์ผ๋ฏ๋ก ์คํ ํ๋ฆ์ ์ ํ๋จํด์ ์์ฑํ๋ฉด ๋๋ค.
์ ์ด๋ฌธ(์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ)์ ์๋ก ์ค์ฒฉ์ด ๊ฐ๋ฅํ๋ฐ, if๋ฌธ ์์ for๋ฌธ์ ์ค์ฒฉ์ํฌ ์๋ ์๊ณ , while๋ฌธ์ if๋ฌธ์ ์ค์ฒฉ์ํฌ ์๋ ์๋ค.
public class CDMain4 {
public static void main(String[] args) {
int b = 10;
if (b % 2 == 0) { //๋ฐ๊นฅ์ if๋ฌธ์ condition์ด true์ผ๋
if (b % 5 == 0) { //์ค์ฒฉ๋ if๋ฌธ condition์ด true์ด๋ฉด ๋ด๋ถ ์คํ๋ฌธ์ด ์คํ๋๋ค.
System.out.println(b + "๋ 2์ ๋ฐฐ์.");
System.out.println(b + "๋ 5์ ๋ฐฐ์.");
}
}
}
}
06. ์กฐ๊ฑด๋ฌธ - switch
1. switch๋ฌธ
switch(๋ณ์) {
case ๊ฐ1:
//๋ณ์๊ฐ ๊ฐ 1์ผ ๊ฒฝ์ฐ์ ์คํ๋ฌธ
break;
case ๊ฐ2:
//๋ณ์๊ฐ ๊ฐ 2์ผ ๊ฒฝ์ฐ์ ์คํ๋ฌธ
break;
default;
//๋ณ์๊ฐ ๋ ๋ค ์๋ ๊ฒฝ์ฐ์ ์คํ๋ฌธ
break;
}
switch๋ฌธ ๋ํ if๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๊ฑด ์ ์ด๋ฌธ์ด๋ค.
ํ์ง๋ง if๋ฌธ์ condition์ ๊ฐ์ด true์ผ ๊ฒฝ์ฐ์ ๋ธ๋ก ๋ด๋ถ์ ์คํ๋ฌธ์ ์คํํ์ง๋ง, switch๋ฌธ์ ๋ณ์๊ฐ ์ด๋ค ๊ฐ์ ๊ฐ๋๋์ ๋ฐ๋ผ ์คํ๋ฌธ์ด ์ ํ๋๋ค.
์์ switch๋ฌธ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก, switch๋ฌธ์ ๋์ผํ ๊ฐ์ ๊ฐ๋ case๋ก ๊ฐ์ ์คํ๋ฌธ์ ์คํ์ํจ๋ค. ๋์ผํ ๊ฐ์ ๊ฐ๋ case๊ฐ ์์ผ๋ฉด default์ ์คํ๋ฌธ์ด ์คํ๋๋ค.
์๋๋ ๋ฉ๋ด ๋ฒํธ๋ฅผ ๋ฐ์, ํด๋น ๋ฒํธ์ ๋ฉ๋ด๋ช
์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๊ฒ์ด๋ค.
import java.util.Scanner;
public class CDMain5_SwitchCase {
public static void main(String[] args) {
System.out.print("๋ช ๋ฒ ๋ฉ๋ด? (1~4): ");
int menu = input.nextInt(); //์
๋ ฅ ๊ฐ์ ๋ฐ์
switch (menu) {
case 1: //์
๋ ฅ ๊ฐ์ด 1์ผ๋
System.out.println("์๋ฉ๋ฆฌ์นด๋
ธ");
break;
case 2: //์
๋ ฅ ๊ฐ์ด 2์ผ๋
System.out.println("์นดํ๋ผ๋ผ");
break;
case 3: //์
๋ ฅ ๊ฐ์ด 3์ผ๋
System.out.println("๋ฐ๋๋ผ๋ผ๋ผ");
break;
case 4: //์
๋ ฅ ๊ฐ์ด 4์ผ๋
System.out.println("๋ฏผํธ์ด์ฝ๋ผ๋ผ");
break;
default: //1~4๊ฐ ์๋ ๋ค๋ฅธ ์ซ์๋ฅผ ์
๋ ฅํ์๋
System.out.println("๊ทธ๋ฐ๊ฑฐ ์๋ค");
break;
}
}
}