개발 일지/Java

[Java] 조건문(Conditional Statement)

미숫가루설탕많이 2022. 12. 23. 20:03

 조건문이란 제어문 중 하나로, 어떤 조건이 주어질 때 어떤 동작을 수행하도록 하는 문장이다.

 

 

 

 

if 문


 if 문의 소괄호 안에는 boolean 값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드를 작성한다. 중괄호({})를 이용해서 여러 문장을 하나로 묶을 수 있는데 이것을 '블록(block)'이라고 한다.

 

if (조건식) {
	// 조건식이 참이라면 실행되는 블록이다.
}

 

 위 코드와 같이 (조건식) 안에 들어가는 명제가 참이면 살행되고 거짓이면 실행되지 않는다.

 

 

 

 

 

else 문


 else 문은 나머지 경우를 의미하며 if 문을 사용했을 때 그 뒤에 else 문을 사용할 수 있다. 만약 if 문의 조건식에 들어간 명제가 참이 아니면 else 블록이 실행된다. 참고로, else 문은 필요치 않으면 생략해도 된다.

 

if (조건식) {
		// 조건식이 참이라면 실행되는 블록
}
    else {
      	// 조건식이 참이 아닐 때 실행되는 블록
}

 

 

 

 

else if 


 if 문을 사용했을 때 그 뒤에 else if 문을 사용할 수 있다. 만약 if 문의 조건식이 true이면 해당 블록이 실행되고 조건식이 false인 경우에 다음으로 넘어가 else if 문의 조건식을 검사한다. 여기서 검사한 조건식도 false라면 else 블록이 실행된다.

 

if (조건식1) {
		// 조건식1이 참이라면 실행되는 블록
}
else if (조건식2) {
		// 조건식1이 참이 아니면서 조건식2가 참일 때 실행되는 블록
}
else {
		// 조건식1과 2가 모두 참이 아닐 때 실행되는 블록
        // 생략 가능
}

 

 

 

 

Switch 문


 Switch 문은 if 문처럼 조건식이 참일 때 블록을 실행하는 것이 아니라 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다. if 문은 조건식의 결과가 true와 false 두 가지 밖에 없기 때문에 경우의 수가 많아질수록 코드가 복잡해지는데 switch 문은 변수의 값에 따라 실행문이 결정되기 때문에 같은 기능의 if 문보다 코드가 간결할 수도 있다. 

 

switch (변수) {
	case 값1 :
    	실행문;
        break; // 다음 case를 실행하지 않고 switch 문을 벗어난다.
    case 값2 :
    	실행문;
        break;
    default : // switch 문의 괄호 안 값과 동일한 값이 없으면 여기서 실행문을 실행한다.
    	실행문;
        break;
}

 

 Switch 문은 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행한다. 그러나 동일한 값이 없다면 default로 가서 실행문을 실행한다. 여기서 default는 생략이 가능하다.

 

 주의할 점은 위 코드처럼 break 문을 작성하지 않으면 switch 문을 탈출하지 않고 모든 case 문을 실행하게 되어 원하는 방식으로 동작하지 않을 수 있다. 이를 fall through라고 한다.

'개발 일지 > Java' 카테고리의 다른 글

[Java] 배열(array)  (0) 2022.12.26
[Java] 반복문(Repetitive Statement)  (0) 2022.12.23
[Java] 콘솔 입출력(I/O)  (0) 2022.12.22
[Java] 연산자(Operator)  (0) 2022.12.22
[Java] 문자열(String)  (0) 2022.12.21