반복문
- 반복문은 특정한 수행문을 반복해서 실행하는 구문이다.
- 반복문은 제시된 조건이 true인 경우 블록내의 수행문을 반복 실행한다.
- for, while, do ~ while 구문을 사용한다.
- 반복횟수를 알고 있을 때는 for문, 그렇지 않은 경우는 while문을 사용한다
for문
for문은 지정된 반복횟수만큼 블록내 수행문을 반복수행한다
// for문의 구성요소 및 예시
for (초기식; 조건식; 증감식) {
수행문;
}
// 지정된 수행문을 5번 실행하는 for문
for (int i=1; i<=5; i++) {
System.out.println("i의 값 : "+i);
}
for문의 실행순서
- 반복의 횟수는 초기식, 조건식, 증감식을 이용해서 지정한다
- for문은 초기화식, 조건식, 증감식으로 구성되어 있다
- for문의 초기식에 생성한 변수는 조건식, 증감식, 블록내 수행문에서만 사용가능하다
- for문의 초기식, 조건식, 증감식은 생략할 수 있다.
// for문의 초기식, 조건식, 증감식은 생략할 수 있다.
int a = 1;
for (; a<=5; a++) {
System.out.println("a의 값 : "+a);
}
int b = 1;
for (; b<=5; ) {
System.out.println("b의 값 : "+b);
b++;
}
// 모든걸 생략하면 무한반복문이 실행이 된다
for(;;) {
System.out.println("11111111111");
}
for문의 초기식, 조건식, 증감식은 생략할 수 있음을 보여주는 코드이다
for문을 활용해서 1~100까지의 합, 1~100까지 짝수끼리의 합과 홀수끼리의 합을 구하는 코드이다.
일일이 구하면 힘든 계산을 반복문과 조건문을 활용해서 간단히 원하는 값을 얻어낼 수 있다.
구구단 출력하는 for문
int 타입의 변수 dan에 들어가는 정수값에 따라 출력되는 구구단의 단이 달라지는 코드이다.
중첩된 for문 ( 2중 for문)
for (초기식; 조건식; 증감식) {
수행문1;
for (초기식; 조건식; 증감식) {
수행문2;
}
}
수행문1은 바깥쪽 for문이 반복 횟수만큼 실행된다
수행문1에서는 안쪽 for문의 초기식에서 생성한 변수를 접근할 수 없다.
수행문2는 바깥쪽 for문이 한 번 실행될 때마다 안쪽 for문의 반복 횟수 만큼 실행된다
수행문2에서는 바깥 for문의 초기식에서 생성한 변수, 안쪽 for문의 초기식에서 생성한 변수에 접근할 수 있다
중첩된 for문을 활용한 별찍기 예제
별이 찍히는 규칙, 공백이 찍히는 규칙, 줄이 바뀌는 규칙 등 규칙에 대해서 명시해두고 규칙을 파악하면 코드를 짜는데에 많이 수월해진다
구구단 전체를 출력하는 중첩 for문
안에 있는 for문이 옆으로 출력되며 단이 계속 하나씩 올라가고
밖에 있는 for문이 다음줄로 바꾸고 곱하는 숫자를 1씩 증가시켜서 아래와 같은 결과를 출력하게 한다
break와 continue
break와 continue는 반복문 내에서만 사용할 수 있는 키워드다.
break는 이 키워드가 포함된 가장 안쪽 반복문을 탈출한다.
continue는 반복이 진행되는 중에 continue를 만나면 반복문의 끝으로 이동해서 다음 번 반복으로 넘어간다 ( for문에서는 증감식으로 넘어가고, while에서는 조건식으로 이동한다)
break문 동작예시
for (초기식; 조건식; 증감식) {
수행문;
수행문;
// break는 주로 if문과 함께 사용되어
// 특정 조건을 만족하면 반복문을 탈출한다
if (탈출조건) {
수행문;
break; ---------|
} |
} |
<______________________________ |
continue문 동작예시
// continue는 반복문 내에서만 사용할 수 있고,
// break와 마찬가지로 if문과 함께 사용되면
// 다음 번 반복을 하기위해 증감식으로 이동한다.
for (초기식; 조건식; 증감식) { <---------------------------
수행문; |
|
if (조건식2) { |
수행문; |
continue; ------------------------|
}
수행문;
수행문;
}
조건문 if를 사용해서 합계를 나타내는 int 타입의 변수 sum이 1000이상일 경우에 break가 동작하게 코드가 되어있다.
그리고 1000을 넘었을 때 어디까지 반복되어 있는지 확인하기 위한 int 타입의 변수 num을 변수 number의 대입해서 몇번째에 1000을 넘었는지 알 수 있게 출력하는 코드이다.
while문
for문과 같은 반복문이지만 for문에 비해 구조가 간단하다.
while (조건식) {
조건식이 true로 판정되는 동안, 반복수행할 실행문;
}
- 보통 반복횟수를 알 수 없는 경우에 사용한다
- while문을 사용해서 반복작업을 수행할 때는 대상 객체는 반복 지속여부를 조회할 수 있는 기능을 제공해야 한다
- while문을 사용하면 무한루프를 간단히 구현할 수 있다
무한루프 예시
// while문의 조건식이 항상 true이기 때문에 while문 블록의 수행문은 무한히 반복실행된다.
while (true) {
계속 반복수행할 수행문;
}
'Java' 카테고리의 다른 글
Java_객체지향프로그래밍 (oop) (0) | 2023.11.01 |
---|---|
Java_배열 [ Array ] (0) | 2023.10.27 |
Java_조건문( if문과 switch문 ) (0) | 2023.10.26 |
Java_타입의 형변환 (0) | 2023.10.24 |
Java_변수와 자료형 (0) | 2023.10.24 |