본문 바로가기
프로그래밍/JAVA

자바의 정석 기초 ( 조건문 / 반복문 / if문 / 블럭 / if-else문 / switch문 / switch문 제약 조건)

by ✲ 2020. 6. 19.
반응형

남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 

 

조건문과 반복문 

- 조건문 : 조건을 만족할때만 {}를 수행 (0~1번)

- 반복문 : 조건을 만족하는 동안 {}를 수행 (0~n번)

 

if문 

- 조건식이 참(true)일 때, 괄호 {} 안의 문장들을 수행한다. 

if (조건식) { 

    // // 조건식이 참(true)일 때 수행될 문장들을 적는다 

}

조건식의 다양한 예 

조건식 조건식이 참일 조건
90 <= x && X <= 100 정수 x가 90이상 100이하 일 때 
x < 0 || x > 100 정수 x가 0보다 작거나 100보다 클 때 
x % 3 == 0 && x%2 !=0  정수 x가 3의 배수지만, 2의 배수는 아닐 때 
ch=='y' || ch=='Y' 문자 ch가 'y' 또는 'Y'일 때 
ch== ' ' || ch == '\n' || ch == '\n' 문자 ch가 공백이거나 탭 또는 개행 문자 일 때 
'A' <= ch && ch <= 'Z' 문자 ch가 대문자일 때 
'a' <= ch && ch <= 'z' 문자 ch가 소문자일 때
'0' <= ch && ch <= '9' 문자 ch가 숫자일 때 
str.equals("yes") 문자열 str의 내용이 "yes"일 때 (대소문자 구분)
str.equalslgnoreCase("yes") 문자열 str의 내용이 "yes"일 때 (대소문자 구분 x) 

 

블럭 {} 

- 여러 문장을 하나로 묶어주는 것 

if (score >60)

{ <-- 블럭의 시작 

    System.out.println("합격입니다");     //탭(tab)에 의한 들여쓰기 (가독성 ↑) 

} <-- 블럭의 끝 

 

if-else문 

둘중의 하나 - 조건식이 참일 때와 거짓일 때로 나눠서 처리 

if (조건식) { 

    // 조건식이 참(true)일 때 수행될 문장들을 적는다 

}else { 

    // 조건식이 거짓(false)일 때 수행될 문장들을 적는다. 

}

 

if-else if문 

여러 개 중의 하나 - 여러 개의 조건식을 포함한 조건식 

if (조건식1) { 

    // 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다. 

} else if (조건식2){ 

    // 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.

} else if (조건식3) { 

    // 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다. 

} else { // 마지막은 보통 else 블럭으로 끝! else 블럭은 생략 가능 

    // 위의 어느 조건식도 만족하지 않을 떄 수행될 문장들을 적는다. 

}

 

중첩 if문 ( if문 안의 if문)

if (조건식1) {

    // 조건식의 연산결과가 true일 때 수행될 문장들을 적는다. 

    if (조건식2){

        // 조건식1과 조건식2가 모두 true일 때 수행될 문장

    } else {

        // 조건식1이 true이고, 조건식2가 false일 때 수행될 문장 

    }

} else {

    // 조건식1이 false일 때 수행되는 문장

 

switch 문 

처리해야 하는 경우의 수가 많을 때 유용한 조건문

switch (조건식) { 

    case 값1 : 

                // 조건식의 결과가 값1과 같을 경우 수행될 문장 

                // ....

                break; 

    case 값2 : 

                // 조건식의 결과가 값2와 같을 경우 수행될 문장 

                break;   

    default: 

                // 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장 

                // default문은 없어도 되고, break문을 안써도 됨 

}

1. 조건식의 계산

2. 조건식의 결과와 일치하는 case문으로 이동

3. 이후의 문장 수행

4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나감 

* switch문은 --> IF문 변경 가능  / IF문은 --> Switch문으로 변경 불가능한 것도 있음 

 

switch문 제약 조건 

- switch문의 조건식 결과는 정수 또는 문자열(1.7부터) 이어야 한다 

- case문의 값은 정수 상수 (문자포함), 문자열만 가능하며, 중복되지 않아야 한다. 

int num, result; 

final int ONE = 1; 

switch (result) {

    case '1' :                // OK, 문자 리터럴 (정수49와 동일) 

    case ONE:              // OK, 정수 상수 

    case "YES" :            // OK, 문자열 리터럴 JDK 1.7부터 허용

    case num :             // 에러, 변수는 불가

    case 1.0 :               // 에러, 실수도 불가 

}

반응형

댓글