[Java] 조건문

soheeoott·2021년 9월 7일
0

Java

목록 보기
9/12

자바 프로그램은 main() 메소드에서 실행되는데, 위에서 아래로 실행되는 흐름을 가지고 있다.
개발자는 제어문(흐름 제어문)으로 실행 흐름을 원하는 방향으로 바꿀 수 있다.
제어문의 종류에는 조건문과 반복문이 있다.

조건문

조건식에 따라 실행문이 실행된다.
조건문의 종류로는 if문, swith문이 있다.

if문

조건식 결과의 논리값(true, false)에 따라 실행할 실행문이 결정된다.
조건식에는 논리값을 산출하는 연산식(비교, 논리)과, boolean 타입의 변수가 올 수 있다.
조건식이 true가 되면 중괄호 내부를 실행한다.

if (조건식) {
    // 실행문A
}
// 실행문B

int score = 97;

if (score >= 90) {
    System.out.println("시험 점수는 A 입니다.");
}

if (score < 90) {
    System.out.println("시험 점수는 B 입니다.");
}
시험 점수는 A 입니다.

if-else문

조건식의 결과에 따라 실행 블록이 선택된다.
▪︎ 조건식이 true이면 if문의 중괄호 내부를 실행한다.
▪︎ 조건식이 false이면 else문의 중괄호 내부를 실행한다.

if (조건식) {
    // 조건식이 true
    // 실행문A
} else {
    // 조건식이 false
    // 실행문B
}
// 실행문C

int score = 87;

if (score >= 90) {
    System.out.println("시험 점수는 A 입니다.");
} else {
    System.out.println("시험 점수는 B 입니다.");
}
시험 점수는 B 입니다.

if-else if-else문

조건식이 여러 개인 if문, else if문은 개수의 제한이 없다.
▪︎ 조건식1이 true가 되면 if 중괄호 내부를 실행한다.
▪︎ 조건식2가 true가 되면 else if 중괄호 내부를 실행한다.
▪︎ 조건식1과 조건식2가 모두 false가 되면 else 중괄호 내부가 실행된다.

if (조건식1) {
    // 조건식1이 true
    // 실행문A
} else if (조건식2) {
    // 조건식2가 true
    // 실행문B
} else {
    // 실행문C
}
// 실행문D

int score = 77;

if (score >= 90) {
    System.out.println("시험 점수는 A 입니다.");
} else if (score >= 80) {
    System.out.println("시험 점수는 B 입니다.");
} else {
    System.out.println("시험 점수는 C 입니다.");
}
시험 점수는 C 입니다.

switch문

변수가 가지고 있는 값에 따라 실행할 실행문이 결정된다.
if문 보다 코드가 간결하다.
자바 7버전부터 switch(변수) 부분에 정수가 아닌 문자열을 입력할 수 있다.

break
switch문을 종료한다.
변수의 값이 값1이라면 값2, default는 실행되지 않는다.
작성하지 않으면 변수가 해당하는 값 아래에 위치한 case문을 모두 실행한다.

default
생략 가능하여 필요에 따라 사용한다.
default안의 블록만 실행되고 switch문이 종료되므로 break를 생략해도 된다.

▪︎ 변수의 값이 값1이면 첫번째 case 코드를 실행한다.
▪︎ 값2라면 두 번째 case 코드를 실행한다.
▪︎ 값1과 값2가 모두 아니면 default 코드를 실행한다.

switch(변수) {
    case1:
        // 변수가 값1일 경우
        // 실행문A
        break;
    case2:
        // 변수가 값2일 경우
        // 실행문B
        break;
    default:
        // 변수가 값1, 값2 모두 아닐 경우
        // 실행문C
}

혼공자 강의를 기반으로 작성하였습니다. 🙏
18강

profile
📚 글쓰는 습관 들이기 📚

0개의 댓글