▶제어문 ? ?
코드의 실행흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었찌만 때로는 조건에 따라서 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야할 떄가 있다.
이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고한다.
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 |