본문 바로가기
Java의 정석 기초편(남궁성) 정리 + a/1 ~ 5. 자바 시작, 변수, 연산자, 조건문과 반복문, 배열

조건문 01 ~ 11. if문 , 조건식 , 블럭{} , if -else문 , if -else if문 , 중첩 if문 , switch문 , switch문의 제약조건

by doriver 2022. 9. 10.

보통 코드의 실행 흐름은 위에서 아래로 한문장씩 진행되는데, 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들을 제어문(control statement) 이라 한다. 제어문에는 '조건문과 반복문'이 있다

 

조건문 : 조건에 따라 다른 문장이 수행됨

반복문 : 특정 문장들을 반복해서 수행

 

if문은 '조건식'과 '괄호{ }'로 이루어짐

만약(if) 조건식이 참(true)이면 괄호{ } 안의 문장들을 수행하라

if ( 조건식 ) {
	// 조건식이 true일때 수행될 문장
}

 

조건식 예

조건식 조건식이 참인 경우
90 <= x && x <= 100 90이상 100 이하
x < 20 || x > 80 20보다 작거나 80보다 큰 경우
ch == 'y' || ch == 'Y' 'y' 또는 'Y' 일때
'A' <= ch && ch <= 'Z' 문자ch가 대문자 일때
'a' <= ch && ch <= 'z' 문자ch가 소문자 일때
'0' <= ch && ch <= '9' 문자ch가 숫자 일때
str.equals("yes") 문자열 str의 내용이 "yes"일때

 

블럭{ } : 괄호{ }를 이용해서 여러문장을 하나의 단위로 묶는 것 , 문장의 끝을 의미하는 ' ; '을 붙이지 않는다

 

if - else문 : if문에 'else블럭'이 추가됨

조건식이 거짓일때 else블럭의 문장을 수행

if (조건식) {
	// 조건식이 true일때 수행될 문장
} else {
	// 조건식이 false일때 수행될 문장
}

 

if - else if문 : 처리해야할 경우가 셋 이상인 경우

참인 조건식을 만나면, 해당 블럭{ }만 수행하고 ' if - else if '문 전체를 벗어난다

if (조건식1) {
	// 조건식1이 참일때 수행될 문장
} else if (조건식2) {

	// 조건식1이 거짓이고, 조건식2가 참일때 수행될 문장

} else if (조건식3) {

	// 조건식1,2가 거짓이고, 조건식3이 참일때 수행될 문장
    
} else {
	// 조건식1,2,3 모두가 거짓일때 수행될 문장
}

 

중첩 if문 : if문 블럭내에 또다른 if문을 포함시키는것

if (조건식1) {
	if (조건식2) {
    	// 조건식1, 조건식2가 모두 true일때 수행될 문장
    } else {	
    	// 조건식1이 true, 조건식2가 false일때 수행될 문장
    }
} else {
	// 조건식1이 false일때 수행될 문장
}
if () {
	if () {
    
    } else if () {
    
    }
} else if () {
	if () {
    
    } else if () {
    
    }
} else {

}

 

 

switch문

하나의 조건식으로 많은 경우의 수를 처리

조건식의 결과와 일치하는 case문으로 이동하여 문장들을 수행 , break만나면 switch문 빠져나옴

switch문에서 조건식의 결과는 정수, 문자, 문자열 이여야 한다

switch (조건식) {
	
    case 값1:
    	
        // 조건식의 결과가 값1일 경우 수행될 문장
        
        break; // switch문을 벗어남
	
    case 값2:
    	
        // 조건식의 결과가 값2일 경우 수행될 문장
        
        break; // switch문을 벗어남
    
    ...
    
    default : 
    	// 조건식의 결과가 case에 없는경우 수행될 문장
}