본문 바로가기

Foundation/- Java

제어문 - 조건문(if,switch)

▶제어문 ? ?

코드의 실행흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었찌만 때로는 조건에 따라서 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야할 떄가 있다.

이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고한다.

 

1. 조건문 - if, switch

조건문은 조건식과 문장을 포함하는 블럭 {}으로 구성되어 있으며, 조건식의 연산결과에  따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다.

 

(1)if문

if문은 가장 기초적인 조건문이며, 구성은 아래와 같다

 

if (조건식) {

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

}

else{

if의 조건식이 참이 아닌 경우 수행될 문장을 적는다.

}

 

조건식에는 보통 논리 연산자, 비교 연산자가 주로들어간다.

if와 함께 따라다니는 else문이있는데 if의 조건이 true가 아닌 경우에

else문을 시행한다. if문은 독립적으로도 사용할 수도있다. 다음 예시를 보자. 

 

 

위의 코드를 보면 쉽게 이해할 수 있다. 특히 if문의 수행될 문장이 한줄인경우 블럭을{ } 생략할 수 있다. 그리고 블럭 내 문장은 tab을 통해 들여씌기를 해서 가독성을 높여주는 것이 좋다.

 

 

위 예제는 숫자를 하나 입력받고 0인지 아닌지를 판단하고있다.

 

 

다음으로 if , else if 문을 예시와 함께 보자 .

결과가 참인 조건식을 만날 떄까지 첫 번쨰 조건식부터 순서대로 평가한다.

그리고 참인 조건식을 만나면 , 해당 블럭의 내용을 수행하고 if문 전체를 빠져나온다.

 

 

(2) switch문

if문은 존건식의 결과가 참과 거짓, 두 가지 밖에 없기 때문에 경우의 수가 많아질수록 else-if를 계속 추가해야하므로 조건식이 많아져서 복잡해지고, 여러 개의 조건식을 계산 해야하므로 처리시간도 많이 걸린다. 이러한 if문과 달리 switch문은 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고, 표현도 간결하므로 알아보기 쉽다. 다만 switch문은 제약조건이 있기 때문에, 경우의 수가 많아도 어쩔 수 없이 if을 작성해야 하는 경우가 있다.

 

which문은 다음과 같은 순서로 실행이된다.

① 조건식을 계산한다.

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

③ 이후의 문장들을 수행한다.

④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.

 

 swich문에는 default문이 있는데 if문의 else와 그역할이 같다고 보면 된다.

 

 

스위치의 조건식 위치에는 정수 또는 문자열이 들어가야하며

case문의 값은 정수 상수만 가능하다. 중복되지 또 중복되서는 안된다.

그리고 case문이 끝날떄마다 switch문을 나가게하는 break;를 해줘야한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

배열(array), String배열, 다차원배열  (1) 2017.07.21
제어문 - 반복문(for, while, do-while)  (0) 2017.07.20
연산자  (0) 2017.07.17
자료형, 리터럴, 출력  (0) 2017.07.13
eclipse클래스 생성, 주석, 변수  (0) 2017.07.12