Programming

; develop a program

Back-End/Java

[Java] 조건문

Clloud_ 2023. 1. 29. 21:24
반응형

이번 포스팅에서는 자바(Java)의 조건문(conditional statements)에 대하여 공부를 해보고자 한다.

 


조건문이란

조건문이란 말 그대로 주어진 조건에 따라 다른 문장을 선택할 수 있도록 프로그래밍하는 것을 말한다.

즉, 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문이다.

조건문 중에서도 가장 기본이 되는 명령문은 바로 if 문이다.

 

자바에서 사용하는 대표적인 조건문의 형태

  1. if 문
  2. if - else 문
  3. if - else if - else 문
  4. switch - case 문

 


if 문

if 문은 조건문의 가장 단순한 형식이다.

 

if 문을 사용하는 형태

if(조건식) {
	수행문;		//조건식이 참일 경우에 이 문장을 수행
}
  • 주어진 조건식이 '참'일 경우에 중괄호 안에 있는 문장을 수행한다.
  • 조건식에는 결과가 참, 거짓으로 판별되는 식이나 참, 거짓의 값을 가진 변수, 상수를 사용할 수 있다.
  • 연산의 결과가 참, 거짓이 되는 관계연산자를 자주 사용한다.

 


if - else 문

if - else문은 조건식을 만족하는 경우와 만족하지 않는 경우를 모두 나타낼 때 사용한다.

 

if - else문 순서도

 

if - else문을 사용하는 형태

if(조건식) {
	수행문1;		//조건식이 참일 경우에 이 문장을 수행
}
else {
	수행문2;		//조건식이 거짓일 경우에 이 문장을 수행
}
  • 주어진 조건식이 '참'일 경우에 if 문 블록 안에 있는 문장을 수행한다.
  • 주어진 조건식이 '거짓'일 경우에는 else문 블록 안에 있는 문장을 수행한다.
  • else 문에는 '조건식'을 사용하지 않는다.

 


if - else if - else 문

if - else if - else 문은 하나의 상황에 조건이 여러 개인 경우에 사용한다.

 

if - else if - else 문 예제

 

if - else if - else 문을 사용하는 형태

if(조건식1) {
	수행문1;		//조건식1이 참일 경우에 수행
}
else if(조건식2) {
	수행문2;		//조건식2이 참일 경우에 수행
}
else if(조건식3) {
	수행문3;		//조건식3이 참일 경우에 수행
}
else{
	수행문4;		//위의 조건이 모두 해당되지 않는 경우에 수행함
}
수행문5;			//if - else if - else 문이 끝난 후 수행함
  • 하나의 조건을 만족하면 이후의 조건은 비교하지 않는다.

 

if - else if 문과 if - if 문의 차이
if - else if 문은 하나의 조건을 만족하면 나머지 조건을 비교하지 않고 다음 수행문으로 넘어간다.
하지만 if 문으로만 이루어진 코드는 조건마다 각각 비교한다.

 


조건문과 조건 연산자

if - else 문은 조건 연산자로도 구현할 수 있다.

서로 다른 두 수 a, b를 비교해서 둘 중 더 큰 수를 max 변수에 대입하는 코드를 구현할 때 if - else 문과 조건 연산자를 사용한 코드는 다음과 같다.

 

 

  • if - else 문으로 구현한 코드가 가독성이 더 좋다.
  • 하지만 간단한 조건문이고 선택이 두 가지만 있는 경우에는 종종 조건 연산자도 사용한다.

 


switch - case 문

조건문을 구현할 때 if 문을 사용하면 번거로운 경우가 있다.

조건식의 결과가 정수 또는 문자열 값이고 그 값에 따라 수행되는 경우가 각각 다른 경우에는 switch - case 문으로 구성하는 것이 코도 깔끔하고 가독성도 좋다.

 

switch - case 문을 사용하는 형태

 

 

  • case 문에는 여러 문장이 있어도 { }를 여러 번 사용하지 않는다.
  • case: ~ break; 까지가 조건에 해당하는 문장이다.
  • if - else if 문에서는 모든 조건이 만족하지 않을 경우에 맨 마지막 else 문이 수행되는데, switch - case 문에서는 default 문이 그런 역할을 한다.
  • break 문은 switch - case 문의 수행을 멈추고 빠져나가도록 만든다.

 

case 문 동시에 사용하기

case 문은 여러 경우를 동시에 처리할 때도 자주 사용한다.

 

case 문에 문자열 사용하기

Java 7부터는 switch - case 문의 case 값에 정수 값뿐 아니라 문자열도 사용할 수 있다.

문자열을 직접 case 문에 사용할 수 있으므로 프로그램을 좀 더 간결하게 구현할 수 있다. 

 

switch - case 문에서 break 문의 역할

break 문은 switch - case 문의 수행을 멈추고 빠져나가도록 만든다.

switch - case 문에서 break 문을 사용하지 않으면 case 조건을 만족해서 수행문이 실행되었더라도 switch - case 문을 빠져나오지 않는다.

따라서 잇따라 나오는 수행문이 모두 실행되어 맨 마지막 default 문에 있는 수행문이 실행된다. 

switch - case 문에서는 조건에 맞는 수행문을 수행한 후에 switch - case 문을 빠져나올 수 있도록 break 문을 꼭 사용해야 한다.

 


 

반응형

'Back-End > Java' 카테고리의 다른 글

[Java] 객체 지향 프로그래밍과 클래스  (0) 2023.01.30
[Java] 반복문  (0) 2023.01.29
[Java] 비트 연산자  (2) 2023.01.28
[Java] 기본 연산자  (0) 2023.01.28
[Java] 형 변환  (3) 2023.01.27