백준 9498 if문 사용
import java.util.Scanner;
class Main{
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if (90<=score && score<=100) { // 이런 방식으로 작성하면 이해하기 편합니다.
System.out.println("A");
} else if (80<=score && score<=89) {
System.out.println("B");
} else if (70<=score && score<=79) {
System.out.println("C");
} else if (60<=score && score<=69) {
System.out.println("D");
} else {
System.out.println("F");
}
sc.close();
}
}
백준 9498 switch문 사용 -1
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
switch(score/10){
case 9: case 10:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("F");
break;
}
}
}
백준 9498 switch문 사용 -2
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
char grade;
switch(score/10){
case 9: case 10:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
break;
}
System.out.println(grade);
}
}
++
백준 9498 switch문 사용 1, 2의 차이는 출력 횟수의 차이입니다.
변수는 타입이 다르다면 추가로 만들어서 사용해야 합니다.
이 문제는 두 가지를 아는지 묻는 문제라고 생각합니다.
- 비교 연산자
- 논리 연산자
그리고 추가적으로 switch문에 대해서도 알아보겠습니다.
1. 비교 연산자
기본 타입인 두 값을 비교해서 boolean 값(true, false)을 반환합니다.
보통 조건문(if), 반복문(for, while)에서 실행 흐름을 제어할 때 사용합니다.
종류로는 >, <, >=, <=, ==, !=가 있습니다.
우리가 자주 사용하는 '='은 대입 연산자로 취급되기 때문에 ==를 사용합니다.
왼쪽 항이 기준입니다.
ex) > : 왼쪽 항이 크면 참, 아니면 거짓을 반환합니다.
2. 논리 연산자
두 boolean 값을 비교하여 boolean 값을 반환합니다.
&&(논리곱) : 두 항이 모두 true인 경우에만 true를 반환합니다.
||(논리합) : 두 항 중 하나의 항이 true이면 true를 반환합니다.
!(부정) : 단항 연산자로 true은 false으로, false은 true로 반환합니다.
++
&& 사용 시 두 항 중 첫번째 항이 false라면 두 번째 항은 평가하지 않고 바로 false를 반환합니다.
switch-case문
조건식이 아니라 변수가 어떤 값을 갖느냐에 따라 실행문이 실행됩니다.
if문은 boolean 값만 사용할 수 있기 때문에 경우의 수가 많을 경우 else if문을 대량으로 추가해야 합니다.
하지만 switch문은 변수의 값에 따라 실행문이 결정되기 때문에 더 간결합니다.
그리고 break문을 반드시 작성해야 합니다.
break문을 작성을 안하면 모든 실행문이 실행됩니다.
각 조건을 case로 표시하고 마지막은 default로 작성합니다.
++
추가적으로 if문과 switch문은 서로 교환이 가능합니다.
if문 | switch문 |
if(조건식1) { 실행문 A; } | switch(변수) { case 값1 : 실행문 A; break; |
else if(조건식2) { 실행문 B; } | case 값2 : 실행문B; break; |
else { 실행문 C; } | default : 실행문C; } |
'백준 알고리즘 - JAVA8 > 2단계 if문' 카테고리의 다른 글
[백준 자바 2884] 알람 시계 (0) | 2020.12.28 |
---|---|
[백준 자바 14681] 사분면 고르기 (0) | 2020.12.28 |
[백준 자바 2753] 윤년 (0) | 2020.12.28 |
[백준 자바 1330] 두 수 비교하기 (0) | 2020.12.28 |
최근댓글