2019.12.28 블록문
블록문
블록문은 0개 이상의 문들을 중괄호로 묶은것을 말한다.
일반적으로 조건문,반복문이나 함수에 사용된다.
간혹 블록의 끝에 세미콜론을 붙이는 사람이 있다.
하지만 일반적으로 본다면 붙이지 않는다.
조건문
조건의 결과에 따라 참과 거짓을 가리고 참일 경우와 거짓일 경우 실행되는 문을 따로 설정할수있다.
조건문의 종류를 살펴보자.
2.1 if..else 문
else if는 계속해서 붙일수가 있다.
하지만 코드의 복잡성도 같이 증가하니 필요할때만 사용하도록 하자.
그리고 if문의 특징을 말하자면 if문은 실행되는 구문이 한줄이라면 중괄호를 생략하고 적어도 된다.
또한 if문은 삼항자 연산자로도 표현이 가능하다.
이 부분은 전에 설명을 했으니 이전설명을 찾아보자.
2.2 switch문
switch문은 case를 정해두고 조건식의 결과가 case와 맞을경우 해당 case를 실행시킨다.
자세한 설명은 사진을 보자.
이것을 해결하기 위해서 어떤 방법을 써야할까?
바로 break를 적어주는것이다.
모든 case의 실행문에 끝을 맺는것을 break;로 해주게되면
실행이되고 break에 걸려서 실행이 멈추고 해당 값을 반환한다.
마지막의 default문에는 break가 필요없으므로 생략하는것이 일반적이다.
case문은 단독적으로 사용하지 않고 여러개를 동시에 사용해도 된다.
예를 들면
case 1: case2: case3: dayName="sun";
이렇게 말이다.
3. 반복문
반복문은 조건식으로 참과 거짓을 판별하고 참일 경우 거짓일 경우 실행문이 다르게 작동한다.
거짓이 나올때까지 계속 반복한다는 특징이 있다.
반복문에는 여러가지 종류가 있는데 살펴보자.
3.1 for문
for문은 조건식이 거짓으로 판별될때까지 코드블록을 반복한다.
for문이 가장 일반적인 반복문이다.
예시
(출처: https://poiemaweb.com/js-control-flow)
번호 순서대로 설명을 하자면
1. 초기화식을 토대로 반복의 시작점과 끝점을 설정하기 때문에 우선 초기화 식을 만든다.
2. 초기화 식을 토대로 끝점을 지정해준다. 사진에서는 i가 0부터 시작해서 1까지 반복한다는 의미이다.
3. 한번 반복한것을 출력하고 다시 1번으로 가서 순차대로 for문을 실행한다.
4, i++는 i를 1 증가시킨다는 의미이다. 따라서 i=0에서 1로 증가하는것이다.
그리고 다시 1번으로 넘어가서 i=1로 다시 반복문이 순차적으로 시작되는것이다.
만일 for문에 초기화도 조건도 증감도 없이 그냥 실행시키면 무한루프에 빠지게된다.
for( ; ; ){ } - 무한루프
for문은 중첩으로도 사용한다.
중첩으로 사용할시에는 2차원 배열을 표현할수있다.
3.2 while문
조건식의 평가 결과가 참이면 계속 반복실행하고 겨짓이면 실행을 종료한다.
while(조건식){ 실행문 }
조건식이 참일경우 무한루프에 빠지는 위험이 있으므로
switch문과 비슷하게 break문을 사용하여 빠져나온다.
3.3 do..while문
do while문은 while문과 비슷하지만 다르다.
while문은 조건식을 보고 참과 거짓에 따라 반복실행을 하지만
do while문은 먼저 반복실행하고 나중에 참/거짓을 판별하여
계속 반복할지 중지할지를 정한다.
do { 실행문 } while(조건식);
4. break문
break문은 레이블문, 반복문, 또는 switch문의 코드 블록을 탈출한다.
이 이외의 경우에 break를 사용하면 문법에러가 발생한다.
5. continue문
continue문은 반복문의 코드 실행부분을 중단시키고 바로 반복문의 증감식으로 이동하는 역할을 한다.
break를 탈출하지는 않는다.