JAVA ๊ณต๋ถํ๊ธฐ(4) ๐ง๐ปโ๐ป
1. ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ ์ด์ฉํ๋ฉด ์กฐ๊ฑด์ ์ฐธ, ๊ฑฐ์ง์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๋ค. ์๋ฐ์ ์กฐ๊ฑด๋ฌธ์ C/C++ ์ ๊ฑฐ์ ๋์ผํ๋ฉฐ ํฌ๊ฒ if-else ๋ฌธ, switch ๋ฌธ์ผ๋ก ๋ถ๋ฅ๋๋ค.
1.(1) ๋จ์ if ๋ฌธ
๋จ์ if ๋ฌธ์ ๊ตฌ๋ฌธ์ ํ์ฉํ๋ ์ฌ๋ก๋ ์๋ ์ฝ๋์ ๊ฐ๋ค.
if(n%2 == 0){
System.out.print(n);
System.out.println("์ ์ง์์
๋๋ค.");
}
if(score >= 80 && score <= 89)
System.out.println("ํ์ ์ B์
๋๋ค.")
'์กฐ๊ฑด์'์ ๋น๊ต ์ฐ์ฐ์ด๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ํผํฉ๋ ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฒฐ๊ณผ๋ ๋ถ๋ฆฐ ๊ฐ์ด๋ค. ์กฐ๊ฑด์์ด ์ฐธ(true)์ด๋ฉด if ๋ด๋ถ์ '์คํ ๋ฌธ์ฅ'์ด ์คํ๋๋ฉฐ, ๊ฑฐ์ง(false)์ด๋ฉด if ๋ฌธ์ ๋ฒ์ด๋๋ค.
'์กฐ๊ฑด์'์ ๋ ผ๋ฆฌ ํ์ ๋ณ์ ํ๋๋ง์ผ๋ก ๊ฐ๋ฅํ๋ฉฐ, '์คํ ๋ฌธ์ฅ'์ด ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋ ์ค๊ดํธ({ }) ์ฌ์ด์ ๋ฌถ์ด ํ๊บผ๋ฒ์ ์คํ์ํฌ ์ ์๋ค. ์ค๊ดํธ({ }) ์ฌ์ด์ ๋ฌถ์ธ ์ฌ๋ฌ '์คํ ๋ฌธ์ฅ'์ ๋ธ๋ก์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ํ๋์ ๋จ์์ฒ๋ผ ๋ค๋ฃจ์ด์ง๋ค. '์คํ ๋ฌธ์ฅ'์ด ํ ๋ฌธ์ฅ๋ฟ์ด๋ฉด ์ค๊ดํธ({ })๋ฅผ ์๋ตํ ์ ์๋ค.
1.(2) if-else ๋ฌธ
if-else ๋ฌธ์ if์ ์กฐ๊ฑด์์ด ์ฐธ์ธ ๊ฒฝ์ฐ์ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ์ ์คํํ ๋ฌธ์ฅ์ ๊ฐ๊ฐ ์ง์ํ๋ค. if-else ๋ฌธ์ ๊ตฌ๋ฌธ์ ์๋์ ์ฝ๋์ ๊ฐ๋ค. ์กฐ๊ฑด์์ด true์ด๋ฉด '์คํ๋ฌธ์ฅ 1'์ ์คํํ ํ if-else ๋ฌธ์ ๋ฒ์ด๋๊ณ , false์ด๋ฉด '์คํ๋ฌธ์ฅ 2'๋ฅผ ์คํํ ํ if-else ๋ฌธ์ ๋ฒ์ด๋๋ค.
if(score >= 90)
System.out.println("ํฉ๊ฒฉ์
๋๋ค.");
else
System.out.println("๋ถํฉ๊ฒฉ์
๋๋ค.");
1.(2)-1 ์์
import java.util.Scanner;
public class Twenties {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("๋์ด๋ฅผ ์
๋ ฅํ์์ค: ");
int age = scanner.nextInt();
if((age>=20)&&(age<30)){
System.out.println("20๋์
๋๋ค. ");
System.out.println("20๋๋ผ์ ํญ๋ณตํฉ๋๋ค");
}
else
System.out.println("20๋๊ฐ ์๋น๋ค.");
scanner.close();
}
}
1.(3) ๋ค์ค if-else ๋ฌธ
๋ค์ค if-else ๋ฌธ์ if-else๊ฐ ์ฐ์๋๋ ๊ฒ์ผ๋ก ์ ํ์ ์ธ ๋ชจ์์ ์๋ ์ฝ๋์ ๊ฐ๋ค. ์์์๋ถํฐ ๋น๊ตํ์ฌ '์กฐ๊ฑด์'์ด ์ฐธ์ธ ๊ฒฝ์ฐ, ํด๋นํ๋ '์คํ ๋ฌธ์ฅ'์ ์คํํ ํ ๋ค์ค if-else ์ ์ฒด๋ฅผ ๋ฒ์ด๋๋ค.
if (score >= 90){
grade = 'A';
}
else if(score >= 80){
grade = 'B';
}
else if(score >= 70){
grade = 'C';
}
else if(score >= 60){
grade = 'D';
}
else{
grade = 'F';
}
1.(3)-(1) ์์
//๋ค์ค if-else๋ฅผ ์ด์ฉํ์ฌ ํ์ ๋งค๊ธฐ๊ธฐ
import java.util.Scanner;
public class Grading {
public static void main(String[] args){
char grade;
Scanner scanner = new Scanner(System.in);
System.out.println("์ ์๋ฅผ ์
๋ ฅํ์ธ์(0~100)");
int score = scanner.nextInt(); //์ ์์ฝ๊ธฐ
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
System.out.println("ํ์ ์ " + grade + "์
๋๋ค.");
scanner.close();
}
}
1.(4) ์ค์ฒฉ if-else ๋ฌธ
if ๋ฌธ์ด๋ if-else ๋ฌธ, ํน์ else ๋ฌธ์ '์คํ ๋ฌธ์ฅ'์ if ๋ฌธ์ด๋ if-else ๋ฌธ์ ๋ดํฌํ ์ ์๋ค.
//์ค์ฒฉ if-else ๋ฌธ ์ฌ๋ก
import java.util.Scanner;
public class NestedIf {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("์ ์๋ฅผ ์
๋ ฅํ์ธ์(0~100): ");
int score = scanner.nextInt(); //์ ์์ฝ๊ธฐ
System.out.println("ํ๋
์ ์
๋ ฅํ์ธ์(1~4): ");
int year = scanner.nextInt(); //ํ๋
์ฝ๊ธฐ
if (score >= 60){
if (year != 4)
System.out.println("ํฉ๊ฒฉ!"); //4ํ๋
์๋๋ฉด ํฉ๊ฒฉ
else if (score >= 70)
System.out.println("ํฉ๊ฒฉ!"); //4ํ๋
์ด 70์ ์ด์์ด๋ฉด ํฉ๊ฒฉ
else
System.out.println("๋ถํฉ๊ฒฉ!"); //4ํ๋
์ด 70์ ๋ฏธ๋ง์ด๋ฉด ๋ถํฉ๊ฒฉ
}
else
System.out.println("๋ถํฉ๊ฒฉ!");
scanner.close();
}
}
1.(5) switch ๋ฌธ
๊ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ ๋ฐฉํฅ์ผ๋ก ๋ถ๊ธฐํ๋ ๊ฒฝ์ฐ, if ๋ฌธ๋ณด๋ค switch ๋ฌธ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ ์ฑ์ด ๋์ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. switch ๋ฌธ์ ์๋ ์ฝ๋์ ๊ฐ์ด ๊ตฌ์ฑ๋๋ค.
char grade='B';
switch (grade){
case 'A':
System.out.println("์ถํํฉ๋๋ค.");
System.out.println("์ํ์ต๋๋ค.");
break;
case 'B':
System.out.println("์ข์์");
break;
case 'C':
System.out.println("๋
ธ๋ ฅํ์ธ์");
break;
default:
System.out.println("ํ๋ฝ์
๋๋ค!");
}
switch ๋ฌธ์ ๋จผ์ '์'์ ๊ณ์ฐํ๊ณ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ๊ณผ ์ผ์นํ๋ case ๋ฌธ์ผ๋ก ๋ถ๊ธฐํ๋ค. case ๋ฌธ์ '์คํ ๋ฌธ์ฅ' ์ ์คํํ ํ break ๋ฅผ ๋ง๋๋ฉด switch ๋ฌธ์ ๋ฒ์ด๋๋ค. '์คํ ๋ฌธ์ฅ' ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ๋ผ๋ ์ค๊ดํธ ({ })๋ก ๋๋ฌ์ธ์ง ์๋๋ค๋ ์ ์ ์ ์ํ๊ธฐ ๋ฐ๋๋ค.
๋ง์ผ ์ด๋ค case ๋ฌธ์ ๊ฐ๊ณผ๋ ๊ฐ์ง ์์ ๊ฒฝ์ฐ, default ๋ฌธ์ผ๋ก ๋ถ๊ธฐํ์ฌ '์คํ ๋ฌธ์ฅ n์ ์คํํ๋ค. default ๋ฌธ์ ์๋ต ๊ฐ๋ฅํ๋ค.
- switch ๋ฌธ์์ break ๋ฌธ์ ์ญํ
switch ๋ฌธ์์ break ๋ฌธ์ ์ค์ํ๋ค. ์ด๋ค case์ '์คํ ๋ฌธ์ฅ' ์ด ์คํ๋๊ณ ๋ง๋ break ๋ฌธ์ฅ์ switch ๋ฌธ์ ๋ฒ์ด๋๋๋ก ์ง์ํ๋ค. ๋ง์ผ case ๋ฌธ์ break ๋ฌธ์ด ์๋ค๋ฉด ์๋์ case ๋ฌธ์ '์คํ ๋ฌธ์ฅ'์ผ๋ก break ๋ฌธ์ ๊ณ์ ๋ง๋ ๋๊น์ง ๊ณ์ ์คํํ๋ค.
- case ๋ฌธ์ ๊ฐ
case ๋ฌธ์ ์ง์ ํ๋ ๊ฐ์ ์ ์ ๋ฆฌํฐ๋ด, ๋ฌธ์ ๋ฆฌํฐ๋ด, ๋ฌธ์์ด ๋ฆฌํฐ๋ด๋ง ํ์ฉํ๋ค. ๋ค์ ์๋ฅผ ๋ณด์.
int b;
switch (b%2){
case 1: ...; break;
case 2: ...; break; //์ ์ ๋ฆฌํฐ๋ด 1, 2
}
char c;
switch (c){
case '+': ...; break;
case '-': ...; break; //๋ฌธ์ ๋ฆฌํฐ๋ด '+', '-'
}
String s = "์";
switch (s){
case "์": ...; break;
case "์๋์": ...; break; //๋ฌธ์์ด ๋ฆฌํฐ๋ด ์ฌ์ฉ
}
1.(5)-(1) ์์
import java.util.Scanner;
public class Season {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("์(1~12)์ ์
๋ ฅํ์์ค: ");
int month = scanner.nextInt();
switch (month){
case 3:
case 4:
case 5:
System.out.println("๋ด์
๋๋ค.");
break;
case 6: case 7: case 8:
System.out.println("์ฌ๋ฆ์
๋๋ค.");
break;
case 9: case 10: case 11:
System.out.println("๊ฐ์์
๋๋ค.");
break;
case 12: case 1: case 2:
System.out.println("๊ฒจ์ธ์
๋๋ค."); break;
default:
System.out.println("์๋ชป๋ ์
๋ ฅ์
๋๋ค.");
}
scanner.close();
}
}
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(JAVA ๊ณต๋ถํ๊ธฐ(4) ๐ง๐ปโ๐ป), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@kimku1018/JAVA-๊ณต๋ถํ๊ธฐ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค