4주 차 자바 강의 - SangwooRyou/26_Java GitHub Wiki
연습 문제
연습 문제 1
나이를 입력 받고, 18세 미만이면 "청소년 관람 불가"를 출력하시오.
if(age < 18){ // 18세 미만일 때
System.out.print("청소년 관람 불가");
}
연습 문제 2
필기 시험 점수 80점 이상, 토익 점수 850점 이상일 때 "합격", 아니면 "불합격"을 출력하시오.
if(test >= 80 && TOEIC >= 850){ // 조건 두 개 중첩 -> &&로 묶음.
"합격";
}
else {
"불합격";
}
연습 문제 3
나이에 따른 차감 요금을 작성하시오.
// 굳이 A이상 B이하일 때, 중첩할 필요 X.
// 상위 조건에 걸리지 않으면 내려가므로 19부터 13, 7 ... 이용.
if(age >= 19)
else if(age >= 13)
else if(age >= 7)
// balance의 초기화가 10,000으로 돼있음.
// 나이 별로 주어진 값을 balance -= price;
// 이후 balance를 초기화해야 함.
4주 차 강의 내용
가위바위보 게임
철수와 영희의 입력을 각각 받아 승리 여부 정하기!
메인 아이디어
- 처음에 비기는 경우를 따로 빼놓은 뒤,
- 철수가 낸 결과에 따라 가위, 바위, 보 분기를 나누고,
- 영희의 값을 if else로 나누어 결과를 정한다.
핵심 메소드
- 문자열은 ==가 아닌 equals 메소드로 비교한다.
비기는 경우
if(RSP1.equals(RSP2)) {
System.out.println("비겼습니다!");
}
철수가 가위를 내는 경우
else if(RSP1.equals("가위")) {
if(RSP2.equals("바위")) {
System.out.println("영희 승리!");
}
else {
System.out.println("철수 승리!");
}
}
철수가 바위를 내는 경우
else if(RSP1.equals("바위")) {
if(RSP2.equals("보")) {
System.out.println("영희 승리!");
}
else {
System.out.println("철수 승리!");
}
}
철수가 보자기를 내는 경우
else {
if(RSP2.equals("가위")) {
System.out.println("영희 승리!");
}
else {
System.out.println("철수 승리!");
}
}
Switch-Case문
- 특정 조건을 switch에 걸고, case를 구성해 조건을 검사.
- 이때 걸리는 게 없다면 default로 결정이 되고,
- break가 없다면 항상 default까지 가기 때문에 break를 꼭 넣어줘야 함.
switch(order) {
case "에스프레소":
case "카푸치노":
case "카페라떼":
price = 3500;
break;
case "아메리카노":
price = 2000;
break;
default :
System.out.println("메뉴에 없습니다.");
}
에스프레소, 카푸치노, 카페라떼의 가격은 똑같기 때문에 그냥 넘긴 후 price를 3500으로 지정. 아메리카노는 가격이 다르기 떄문에 따로 구성. default는 없는 메뉴를 골랐을 때 출력.
반복문
- 반복문엔 초기식/조건식/증감식이 필요함.
- continue를 통해 특정 분기를 건너뛸 수 있음.
for문
public static void main(String[] args) {
// 1부터 10까지 합 계산
int sum = 0;
for(int i=1; i<=10; i++) {
sum += i;
}
System.out.println(sum);
}
while문
public static void main(String[] args) {
int i = 1, sum = 0;
while(i<=10) {
sum+=i;
i++;
}
System.out.println(sum);
}
이중 for문 : 구구단 연산
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
System.out.print(i + "단 : ");
for (int j = 1; j <= 9; j++) {
System.out.print(i + " * " + j + " = " + i * j + " ");
}
System.out.println();
}
}