특정 조건을 만족할 때까지 똑같은 구문을 반복
while문, for문
################## while ##################
특정조건을 만족할 때까지 무한정 돌아간다.
무한 루프를 만들기 쉽다.(while 문 조건에 항상 참이 되는 식을 넣으면 됨.)
while(조건){
반복 실행 영역
}
조건이 true면 중괄호 구간을 반복적으로 실행한다. 조건이 false면 반복문이 실행되지 않는다.
콘솔에서 실행할 경우 Ctrl+C(dnls 나 Cmd+.) 단축키를 이용해서 무한 반복을 중지할 수 있다.
<예시>
while(i == 0){
처리할 명령들
}
-> 변수 i 의 값이 0과 같을 동안 { } 안을 반복해라
<do~while문 예시>
do{
처리할 명령들
} while(i == 0) ;
-> 일단 { } 안의 명령을 수행하라. 변수 i 의 값이 0과 같을 동안 { } 안을 반복해라
################## for ##################
정확한 횟수가 정해져 있을때 for문 사용
for문 안에는 for문이 또 들어갈 수 있다.
하지만 for문 안에 변수는 달라야 한다.
초기화 종료조건 반복실행
for(int i = 0; i < 종료지점; i++ ){
반복적으로 실행될 구문
}
i = 반복횟수
먼저 int i = 0 을 통해서 제어변수인 i를 선언한다.
그리고 i < 종료지점 이 true 가 나오면 반복할 코드들을 다 실행하고
}을 만나게 되면 i++이 실행된다.
i++을 실행한 후에 i < 종료지점을 다시 실행하여 true 가 나오면 반복
false가 나오면 반복문은 종료가 된다.
초기화 : 반복문이 실행될 때 1회 실행된다.
종료조건 : 초기화가 실행된 후에 종료조건이 실행된다. 종료조건의 값이 false일 때까지 반복문의 중괄호 구간의 코드가 반복 실행된다.
중괄호 구간의 실행이 끝나면 반복 실행이 실행된다. 일반적으로 이 곳에 i++와 같이 변수를 증가시키는 로직이 위치하고, 이것이 실행된 후에 종료조건이 실행된다. 종료조건이 false가 될 때까지 이 과정이 반복된다.
<예시>
for(int i=0; i<4; i++){
처리할 명령들
}
-> 정수값을 담는 i라는 변수에 0을 대입하고 1씩 증가시키면서 i가 4보다 작을 동안 { } 안을 반복해라
<확장for문> = for in문, for-each문
double[] a = {... } ;
for(double i : a) // 배열 a의 처음부터 끝까지 모든 요소를 한개씩 스캔. i는 스캔할때 주목하고 있는 요소.
( )안의 콜론(:)은 "~의 안에 있는"
################## 반복문의 제어 ##################
반복문의 흐름을 바꾸는 break와 continue.
break : 반복문을 중단시킴.(탈출) - 조건문, 반복문 둘다 쓰임.
continue : 반복문 내에서 continue 아래 남겨진 명령어들은 생략하고 다음 반복으로 넘어감. 실행을 즉시 중단하면서 반복은 지속하게 함. - 반복문에서만 쓰임.
################## 반복문의 중첩 ##################
반복문의 기준점은 서로 다른값으로 세팅해야함.
이중for문 : for문 안에 for문이 있는구조. 안쪽에 있는 for문이 바깥쪽 for문의 실행 횟수만큼 실행됨. 삼중~ 이상도 가능하지만 프로그램 실행 속도가 느려져 잘 사용하지는 않는다.