if문의 소괄호 안에 boolean값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드를 적어주면 된다.
if (조건식) {
// 조건식이 true라면 실행할 구문
}
조건은 true나 false 두가지 경우밖에 없고 부등호 ==, <, >, <=, >= 등을 통해 조건을 나타낼 수도 있다.
조건을 여러개 주고 싶거나 if의 조건식이 false일 때 사용한다.
if(조건식1) {
//조건식1이 true일경우 실행되는 구문
} else if (조건식2) {
//조건식1이 false이며 조건식2가 true일때, 실행되는 구문
} else {
//조건식1과 조건식 2가 모두 false일때, 실행되는 구문
// else문은 생략 가능하다.
}
if문의 조건식에 and(&&)나 or(||)을 표시해 한 조건식에 여러 조건을 넣을 수 있는데 or(||)은 나열된 조건 중 하나라도 참이면 true, and(&&)는 나열된 모든 조건이 참이어야 true 이다.
public class Main {
public static void main(String[] args) {
int score = 85;
if (score >= 90) { // 점수가 90 이상일 때
System.out.println("등급은 A 입니다.");
} else if (score >= 80) { //점수가 80 이상일 때
System.out.println("등급은 B 입니다.");
} else if (score >= 70) { //점수가 70 이상일 때
System.out.println("등급은 C 입니다.");
} else if (score >= 60) { // 점수가 60 이상일 때
System.out.println("등급은 D 입니다.");
} else { //점수가 60미만일 때
System.out.println("등급은 F 입니다.");
}
}
}
이처럼 입력된 점수에 따라 if문을 통해 정해진 등급을 출력할 수 있다.
switch문도 if문과 마찬가지로 조건 제어문이나 switch문은 if문 처럼 조건식이 boolean값의 true일 때 블록 내부의 실행문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다. switch문은 if문의 여러 조건(크기비교, &&, ||등)을 담지 못하기 때문에 입력값이 한정적일 때 사용할 수 있다.
switch (입력값) {
case 조건1 :
//실행할 구문
break; // 실행중인 조건문을 빠져나감.
case 조건2 :
// 실행할 구문
break;
default : // if문의 else와 같은 역할. 생략가능
// 실행할 구문
break;
}
각 구문마다 break를 써주지 않으면 조건에 해당하는 case를 실행 후 다음 case도 실행된다.
public class Main {
public static void main(String[] args) {
int num = 5
switch (num) {
case 1:
System.out.println("1번");
break;
case 2:
System.out.println("2번");
break;
case 3:
System.out.println("3번");
break;
case 4:
System.out.println("4번");
break;
case 5:
System.out.println("5번");
break;
case 6:
System.out.println("6번");
break;
default:
System.out.println("잘못된 숫자입니다.");
break;
}
}
}
switch문에서 조건으로 준 num과 동일한 값을 갖는 case로 가서 실행문을 실행한다. 만약 num과 같은 case의 값이 없었다면 default로 가서 실행문을 실행하며 default는 if문의 else와 같이 생략할 수 있다. 결과는 num과 같은 값인 case 5의 "5번"이 출력된다.