햄코딩
DAY 5 본문
220420 노션 정리 완료 - 모두 꼼꼼히 정리.
220420 블로그 정리 진행 중 - 중요한 것 위주로 발췌 정리. //하이로우, 계산기 정리해야 함
Ch03Ex17 - if문, if ~ else문, if ~ else if ~ else문 개념정리

Ch03Ex20 - if, if ~ else, if ~ else if ~ else, else if 무한 추가

Ch03Ex22 - if 문, 번외 : if 무한대 중첩
- 번외 : if는 무한대로 중첩 (if 내부에 if) 가능

💡 Q. 20번이 직관적인데 왜 22번처럼 중첩이라는 기능을 쓰는 걸까?
A. 실행 횟수 줄이려고
→예를 들어 0을 입력했다면, 20번은 0이 아니라면 5번 동안 0이 아님을 수행함. 22번은 1에서 4 사이가 아니라고 바로 26번 줄로 넘어감.
Ch03Ex21 - if 문~, Scanner 추가
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package ch03;
import java.util.Scanner;
public class Ch03Ex21 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //입력버퍼를 스캔해왔다.
//놀이동산//0 : 없음, 1 : 종일권, 2 : 오전권, 3 : 오후권, 4 : 야간권.
System.out.println("0 : 없음, 1 : 종일권, 2 : 오전권, 3 : 오후권, 4 : 야간권");
System.out.print("메뉴를 선택하세요 : ");
int ticket = scan.nextInt();
if(ticket == 1) { //티켓이 있다면 환영해라.
System.out.println("놀이 동산에 오신 것을 환영합니다.");
} else if(ticket == 2) {
System.out.println("오후 3시에 퇴장을 안내한다.");
} else if(ticket == 3) {
System.out.println("오후 3시부터 입장을 안내한다.");
} else if(ticket == 4) {
System.out.println("오후 6시부터 입장을 안내한다.");
} else {
System.out.println("매표소를 안내한다.");
} //1~4 외의 값을 입력하면 "매표소를 안내한다"가 뜬다.
scan.close(); //반드시 닫아야 한다.
}//main
}//class
|
cs |
Ch03Ex24 - 가위바위보 게임(Scanner, random, if문) (축약)
- 예제23 - module 3의 if문에서 공통된 부분인 “비김” 부분을 축약.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package ch03;
import java.util.Scanner;
public class Ch03Ex24 {
public static void main(String[] args) {
//module 1
Scanner scan = new Scanner(System.in);
System.out.print("1:가위, 2:바위, 3:보, 당신의 선택은? : ");
int yourSelect = scan.nextInt();.
System.out.println("Your Select : " + yourSelect);
scan.close();
//module 2
int comSelect = (int) (Math.random() * 3 + 1);
System.out.println("Computer Select : " + comSelect);
//module 3
if(yourSelect == comSelect) {
System.out.println("비김");
} else if(yourSelect == 1) {
if (comSelect == 2) {
System.out.println("패배");
} else if (comSelect == 3) {
System.out.println("승리");
}
} else if (yourSelect == 2) {
if(comSelect == 1) {
System.out.println("승리");
} else if (comSelect == 3) {
System.out.println("패배");
}
} else if (yourSelect == 3) {
if(comSelect == 1) {
System.out.println("패배");
} else if (comSelect == 2) {
System.out.println("승리");
}
} else {
System.out.println("입력 값이 올바르지 않습니다.");
}
}//main
}//class
|
cs |
- 확인해보기 : int comSelect = (int) (Math.random() * 3 + 1); //1,2,3표시위해 * 3 +1 //소수점 필요없어서 잘라내야하니까 int변환
Ch03Ex25 - 하이 로우 게임 (2) - Ch03Ex16 참조.
Ch03Ex26 - 국영수 점수 입력 받고 평균 내기
Q. 국어 영어 수학 (합계, 평균) 점수를 입력 받는다. 평균을 구하여, 90이상은 A, 80이상은 B, 70이상은 C, 60이상은 D, 나머지는 F.
A. 순서
1. 국 영 수 점수를 입력 받는다. - Scanner
2. 합계와 평균을 구한다.
3. 등급 평가
1) if 문으로 작성한 경우, avg = 99; 라면, 아래 4개의 각각 독립된if문을 모두 수행해버린다.
2) if ~ else 문으로 작성한 경우, 경우의 수 중에 하나라도 해당되면, 해당 조건만 수행하고, 나머지는 무시한다. → 실행 횟수 감소 효과
Ch03Ex27 ~ Ch03Ex30 - switch ~ case


Ch03Ex31 - 계산기 - switch ~ case로.
Ch03Ex32 - 계산기 - if문으로.