[Java] 1_7_제어 흐름 이해하기(1)

Haeun Noh·2022년 8월 2일
0

0802


오늘은 제어문 중에서 조건문에 대해 배워보겠습니다. 조건문은 제가 학기 말에 배운 것이라서 더 수월하게 익힐 수 있어서 좋았던 것 같아요. 다시 복습하는 마음가짐으로 정리 시작하겠습니다.



제어문이란?

: 프로그램의 흐름을 제어(control)하는 것

프로그램에서 사용하는 제어문은 크게 조건문과 반복문이 있습니다.



조건문

: 주어진 조건에 따라 다른 수행문이 실행되도록 프로그래밍 하는 것

조건문의 종류에는 if문 if~else문 if~else if~else문 switch~case문이 있습니다. 이러한 조건문들을 순서대로 살펴보겠습니다.


if문

if (조건식) {
			수행문;
		}
  • 조건식의 결과는 항상 참이거나 거짓이고 관계 연산자로 표현할 수 있다.
  • 조건식이 참이면 블록 안의 문장을 수행한다.

if~else문

if (조건식) {
			수행문1;
		}
		else {
			수행문2;
		}
  • else에는 조건식이 붙지 않는다.

if~else if~else문

하나의 경우에 조건이 여러 개에 해당하는 경우에 사용합니다.

if (조건1) {
			문장1;
		}
		else if (조건2) {
			문장2;
		}
		else if (조건3) {
			문장3;
		}
		else {
			문장4;
		}
  • else if는 여러번 쓸 수 있다.

조건문과 조건 연산자

간단한 if~else조건문조건 연산자로 구현할 수 있습니다. 여기서의 조건 연산자삼항 연산자를 뜻합니다.

ex) if~else 조건문일 때

if (a>b)
		max = a;
	else
		max = b;
ex) 조건 연산자 (삼항 연산자)일 때

max = ( a>b ) ? a: b;

비교해보니 if~else 조건문보다 훨씬 간결해졌죠?

switch~case문

switch~case문은 조건식의 결과가 정수 또는 문자열의 값이고 그 값에 따라 수행문이 결정될 때 사용됩니다. switch~case문은 조건에 대한 값이 간단한 정수값이거나 간단한 문자열, 즉 하나의 값으로 표현할 수 있을 때 사용하면 코드가 if문보다 간결해 유용하게 쓰일 수 있습니다.

if문과의 차이점을 봅시다. if문은 조건식의 결과가 참/거짓이었습니다. 하지만 switch~case문은 그와 달리 조건식의 결과가 정수/문자열이라는 것입니다.

int age = 19;

swtich ( age / 10 ) {
	case 0 : System.out.println("어린아이 입니다."); break;
    case 1 : System.out.println("10대 입니다."); break;
    default : System.out.println("성인입니다."); break;
}
실행 결과

10대 입니다.

특징

  • if~else if~else문을 대신하여 switch~case문을 사용할 수 있다.
  • 중괄호는 한 번만 사용한다.
  • switch~case문을 빠져나오는 역할을 하는 break문을 꼭 사용해주어야 한다. 사용해주지 않으면 그 아래의 값도 전부 대입되거나 출력된다.


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글