1. 제어문 (조건문,반복문)
2. 배열
* 지금까지 코드의 실행 흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었지만, 때로는 조건에 따라 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야 할 때가 있다. 이처럼 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들을 제어문이라고 한다.
* 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다.
1. 조건문 if (if, if-else, if-else if-else), switch
- 조건문은 조건식과 문장을 포함하는 블록 {}으로 구성되어 있으며, 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다.
- 조건문은 if문과 switch문 두가지가 있으며 주로 if문이 많이 사용된다.
1-1) if문
- if문은 가장 기본적인 조건문이며, 조건식과 괄호{}로 이루어져 있다.
if(조건식) {
// 조건식이 참 (true)일 때 수행될 문장들을 적는다.
}
==> 만일 if 조건식이 참이면 괄호 {} 안의 문장들을 수행해라.
① 조건식
- 조건식이란 참과 거짓을 판명할 수 있는 식
- if문에 사용되는 조건식은 일반적으로 비교연산자와 논리연산자로 구성된다.
- 조건식을 작성할 때 실수하기 쉬운 것이 등가비교연산자( == ) 대신 대입연산자 ( = )를 사용하는것
② 블록 {}
- 괄호 {}를 이용해서 여러 문장을 하나의 단위로 묶을 수 있는데 이것을 블록이라 한다.
- 블록은 { 은 시작해서 }로 끝나는데 } 다음에 ;를 붙이지 않는것을 주의하자.
1-2) if-else

1-3)if-else if


1-4)중첩 if


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


① 표현식을 계산한다.
② 표현식의 결과와 일치하는 case문으로 이동한다.
③ 이후의 문장들을 수행한다.
④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
예제1)

예제2)

2. 반복문 for,while,do-while
- 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류는 for문과 while문, 그리고 while문의 변형인 do-while문이 있다.
- for문이나 while문에 속한 문장은 조건에 따라 단 한번도 실행이 안 될수도 있으나, do-while은 최소한 한번의 수행이 보장된다.
2-1)
- for문은 반복 횟수를 알고 있을 때 적합하다.
for(초기식;조건식;증감식) {
// 조건식이 참일 때 반복 수행할 문장
}

=> 제일먼저 초기화가 수행되고, 그 이후부터는 조건식이 참인 동안 조건식 -> 수행될 문장 -> 증감식의 순서로 계속 반복된다. 그러다가 조건식이 거짓(false)가 되면 for문 전체를 빠져나가게 된다.
① 초기식
- 반복문에 사용될 변수를 초기화하는 부분이며 처음에 한 번만 수행된다.
② 조건식
- 조건식의 값이 참이면 반복을 계속하고, 거짓이면 반복을 중단하고 for문을 벗어난다.
- 조건식을 잘못 작성하면 블록 {} 내의 문장이 한번도 수행되지 않거나 영원히 반복되는 무한루프 (infinite loop)에 빠지기 쉬우므로 주의해야 한다.
③ 증감식
- 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식이다.
- 매 반복마다 변수의 값이 증감식에 의해서 점진적으로 변하다가 결국 조건식이 false가 되어 for문을 벗어나게 된다.
* 향상된 for문 (enhancde for statement)
- 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록 for문의 새로운 문법이 있는데 이를 향상된 for문이라고 한다.
for(타입 변수명 : 배열 또는 컬렉션) {
// 반복할 문장
}
- 위의 문장에서 타입은 배열 또는 컬렉션의 요소의 타입이어야 한다.
- 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장된다.

2-2) while문
- for문에 비해 while문의 구조는 간단하며 if문처럼 조건식과 블록만으로 이루어져 있다.
- while문은 조건식이 참인동안, 즉 조건식이 거짓이 될 때까지 블록내의 문장을 반복한다.
while ( 조건식 ) {
// 반복 수행할 문장
}

2-3) do-while문
do {
// 조건식의 결과가 참일 때 수행될 문장들을 적는다.
// 단, 한번은 무조건 실행된다.
}while( 조건식 );
- do-while문은 while문의 변형으로 기본적인 구조는 while문과 같으나 조건식과 블록의 순서를 바꿔놓은 것이다.
- 즉, 블록을 먼저 실행한 후에 조건식을 평가한다.

2-4) break
- break문은 자신이 포함된 가장 가까운 반복문을 벗어나며 주로 if문과 함께 사용되어 특정 조건을 만족하면 벗어나도록 하게 하는 예약어이다.

2-5) continue
- continue문은 반복문 내에서만 사용될 수 있으며, 반복이 진행되는 도중에 continue를 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.
- for문의 경우는 증감식으로, while문과 do-while문의 경우는 조건식으로 넘어간다.
