자바의 반복문에 대해 배우는 강의입니다. 컴퓨터는 반복문을 통해서 24시간 365일 작동할 수 있는데요. 우리는 자바의 반복문을 통해 컴퓨터에게 반복적인 일을 시킬 수 있습니다. 반복문은 조건문과 함께 정말 자주 사용되는 구문이므로 잘 살펴봅시다.
ㅤ
어떤 일을 반복적으로 실행해야 할 경우 반복문을 이용하여 명령어를 반복적으로 실행할 수 있습니다. 실제로 우리가 사용하는 소프트웨어들은 반복적으로 실행되기 때문에 프로그램이 종료되지 않은 상태에서 계속 사용할 수 있죠.
이러한 반복문은 크게 네 가지가 있고 조건문이 있으며 조건식이 참이면 계속 반복적으로 실행할 수 있습니다. 이미 조건문에 대해서 잘 알고 있으면 반복문은 어렵지 않습니다.
그리고 반복문을 제대로 느껴보려면 실습하면서 익히는 것이 가장 좋습니다.
ㅤ
for 반복문은 대체로 반복할 횟수가 정해져 있을 때 사용합니다.
for 반복 구문
for (초기화 ; 조건식; 반복 후 실행될 명령어) {
// 반복 시킬 내용
}
초기화 구문을 실행한다.
조건식을 체크한다.
조건식이 참(true)이면 반복문 내부의 코드를 실행한다.
위로 올라가 반복 후 실행될 명령어를 실행한다.
조건식이 거짓(false)이면 반복문을 탈출한다.
for (int num = 0; num < 4; num++) {
System.out.println(num);
}
출력
0
1
2
3
추가로 for 반복문은 초기화, 조건식, 반복 후 실행될 명령어를 생략할 수 있습니다.
int num = 0;
for (; num < 4;) { // 세미콜론을 뺴면 안 된다.
System.out.println(num);
num++;
}
출력
0
1
2
3
초기화와 반복 후 실행될 명령어를 생략하면 while문과 크게 다르지 않습니다. 다만 이렇게 반복문을 사용할바에 코드 가독성 차원에서 while 문을 사용하는 것이 낫습니다.
ㅤ
while 반복문은 대부분 반복할 횟수가 정해져 있지 않을 때 사용합니다.
while 반복 구문
while (조건식) {
// 반복 시킬 내용
}
조건식을 체크한다.
조건식이 참(true)이면 반복문 내부의 코드를 실행한다.
위로 올라가 다시 조건식을 체크한다.
만약에 조건식이 거짓(false)이면 반복문을 탈출한다.
조건식은 조건문을 배울 때 사용하는 조건식과 동일하며, 참(true)이면 반복문의 내용을 실행 후 다시 조건을 체크하여 반복하고 거짓(false)이면 반복문을 탈출합니다.
int num = 0;
while (num < 4) {
num++;
System.out.println(num);
}
출력
1
2
3
4
ㅤ
while 반복문은 대부분 반복할 횟수가 정해져 있지 않고, 조건 여부 상관 없이 먼저 코드 실행 후 반복할 때 사용합니다.
do while 반복 구문
do {
// 반복 시킬 내용
} while(조건식);
반복문 내부의 코드를 실행한다.
조건식을 체크한다.
조건식이 참(true)이면 위로 올라가 반복문 내부의 코드를 실행한다.
만약에 조건식이 거짓(false)이면 반복문을 탈출한다.
조건식은 조건문을 배울 때 사용하는 조건식과 동일하며, 참(true)이면 반복문의 내용을 실행 후 다시 조건을 체크하여 반복하고 거짓(false)이면 반복문을 탈출합니다.
int num = 0;
do {
num++;
System.out.println(num);
} while (num < 4);
출력
1
2
3
4
ㅤ
foreach 반복문은 배열이나 또는 이터레이터를 상속 받은 자료구조에서 원소를 순차적으로 접근할 때 사용할 수 있습니다.
*이터레이터는 이후의 강의에 나옵니다.
foreach 반복 구문
for (변수 : 배열 or 이터레이터) {
// 반복 시킬 내용
}
배열의 경우 인덱스 0 부터 배열의 끝까지 순차적으로 접근하여 배열의 값을 변수에 저장한다.
이터레이터의 경우 자료구조의 끝까지 순차적으로 접근하여 자료구조의 원소를 변수에 저장한다.
int[] numArray = {10, 20, 30, 40};
for (int num : numArray) {
System.out.println(num);
}
출력
10
20
30
40
ㅤ
반복문이 실행될 때 break 키워드를 만나면 반복문은 종료되고 반복문을 탈출합니다. 이러한 특징을 이용하여 특정 상황에서 반복문을 종료할 때 사용할 수 있습니다.
그림에서는 기본적으로 반복문의 조건식이 true이며 무한 반복하도록 작성되어 있으나 if 조건문에 의해 i의 값이 100을 초과하면 break 키워드를 만나 반복문을 탈출합니다.
ㅤ
반복문이 실행될 때 continue 키워드를 만나면 반복문의 조건식으로 올라가 다시 조건 체크 후 조건식이 참이면 반복문 내부의 코드를 실행합니다. (반복문 내부에서만 사용가능합니다)
그림에서는 if문 조건식에서 i를 2로 나눈 나머지 값이 0일 때 continue 키워드를 만나면 반복문의 조건식으로 올라가 조건을 확인후 참이면 다시 반복문 내부의 코드를 실행합니다.
ㅤ
실습도구에 해당 코드를 작성해 봅시다
ㅤ
ㅤ
코드 작성
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
출력
0
1
2
3
4
ㅤ
코드 작성
int[] numArray = {1, 2, 3, 4, 5};
for (int i = 0; i < numArray.length; i++) {
System.out.println(numArray[i]);
}
출력
1
2
3
4
5
ㅤ
ㅤ
코드 작성
String[] textArray = {"오늘 코딩?", null, "내일 코딩?"};
for (String text : textArray) {
System.out.println(text);
}
출력
오늘 코딩?
null
내일 코딩?
ㅤ
코드 작성
char[] hangleArray = {'가', '나', '다', '라', '마', '바', '사', '아', '자', '차', '카', '타', '파', '하'};
for (char han : hangleArray) {
System.out.print(han);
}
출력
가나다라마바사아자차카타파하
ㅤ
ㅤ
코드 작성
int count = 0;
while (count < 10) {
count++;
if (3 < count && count < 7) {
continue;
}
System.out.println(count);
};
출력
1
2
3
7
8
9
10
ㅤ
ㅤ
코드 작성
do {
System.out.print("먼저 실행");
} while (false);
출력
먼저 실행
ㅤ
코드 작성
int i = 0;
do {
System.out.print(i);
System.out.println("회차");
i++;
} while (i < 5);
출력
0회차
1회차
2회차
3회차
4회차
실습) while문 case1 if조건문에서 (3 < count < 7)가 아니라 (3 < count&&count < 7) 라고 적는 이유가 궁금합니다
코드에서 대괄호가 빠진게 아닌가요?? int numArray = {10, 20, 30, 40}; // int[] numArray = {10, 20, 30, 40}; for (int num : numArray) { System.out.println(num); }
안녕하세요. 코드라떼입니다 :) 말씀하신 부분 오타로 인해 잘못 작성되었으며 수정하였습니다. 감사합니다 :)
자바의 반복문에 대해 배우는 강의입니다. 컴퓨터는 반복문을 통해서 24시간 365일 작동할 수 있는데요. 우리는 자바의 반복문을 통해 컴퓨터에게 반복적인 일을 시킬 수 있습니다. 반복문은 조건문과 함께 정말 자주 사용되는 구문이므로 잘 살펴봅시다.
ㅤ
어떤 일을 반복적으로 실행해야 할 경우 반복문을 이용하여 명령어를 반복적으로 실행할 수 있습니다. 실제로 우리가 사용하는 소프트웨어들은 반복적으로 실행되기 때문에 프로그램이 종료되지 않은 상태에서 계속 사용할 수 있죠.
이러한 반복문은 크게 네 가지가 있고 조건문이 있으며 조건식이 참이면 계속 반복적으로 실행할 수 있습니다. 이미 조건문에 대해서 잘 알고 있으면 반복문은 어렵지 않습니다.
그리고 반복문을 제대로 느껴보려면 실습하면서 익히는 것이 가장 좋습니다.
ㅤ
for 반복문은 대체로 반복할 횟수가 정해져 있을 때 사용합니다.
for 반복 구문
for (초기화 ; 조건식; 반복 후 실행될 명령어) {
// 반복 시킬 내용
}
초기화 구문을 실행한다.
조건식을 체크한다.
조건식이 참(true)이면 반복문 내부의 코드를 실행한다.
위로 올라가 반복 후 실행될 명령어를 실행한다.
조건식이 거짓(false)이면 반복문을 탈출한다.
for (int num = 0; num < 4; num++) {
System.out.println(num);
}
출력
0
1
2
3
추가로 for 반복문은 초기화, 조건식, 반복 후 실행될 명령어를 생략할 수 있습니다.
int num = 0;
for (; num < 4;) { // 세미콜론을 뺴면 안 된다.
System.out.println(num);
num++;
}
출력
0
1
2
3
초기화와 반복 후 실행될 명령어를 생략하면 while문과 크게 다르지 않습니다. 다만 이렇게 반복문을 사용할바에 코드 가독성 차원에서 while 문을 사용하는 것이 낫습니다.
ㅤ
while 반복문은 대부분 반복할 횟수가 정해져 있지 않을 때 사용합니다.
while 반복 구문
while (조건식) {
// 반복 시킬 내용
}
조건식을 체크한다.
조건식이 참(true)이면 반복문 내부의 코드를 실행한다.
위로 올라가 다시 조건식을 체크한다.
만약에 조건식이 거짓(false)이면 반복문을 탈출한다.
조건식은 조건문을 배울 때 사용하는 조건식과 동일하며, 참(true)이면 반복문의 내용을 실행 후 다시 조건을 체크하여 반복하고 거짓(false)이면 반복문을 탈출합니다.
int num = 0;
while (num < 4) {
num++;
System.out.println(num);
}
출력
1
2
3
4
ㅤ
while 반복문은 대부분 반복할 횟수가 정해져 있지 않고, 조건 여부 상관 없이 먼저 코드 실행 후 반복할 때 사용합니다.
do while 반복 구문
do {
// 반복 시킬 내용
} while(조건식);
반복문 내부의 코드를 실행한다.
조건식을 체크한다.
조건식이 참(true)이면 위로 올라가 반복문 내부의 코드를 실행한다.
만약에 조건식이 거짓(false)이면 반복문을 탈출한다.
조건식은 조건문을 배울 때 사용하는 조건식과 동일하며, 참(true)이면 반복문의 내용을 실행 후 다시 조건을 체크하여 반복하고 거짓(false)이면 반복문을 탈출합니다.
int num = 0;
do {
num++;
System.out.println(num);
} while (num < 4);
출력
1
2
3
4
ㅤ
foreach 반복문은 배열이나 또는 이터레이터를 상속 받은 자료구조에서 원소를 순차적으로 접근할 때 사용할 수 있습니다.
*이터레이터는 이후의 강의에 나옵니다.
foreach 반복 구문
for (변수 : 배열 or 이터레이터) {
// 반복 시킬 내용
}
배열의 경우 인덱스 0 부터 배열의 끝까지 순차적으로 접근하여 배열의 값을 변수에 저장한다.
이터레이터의 경우 자료구조의 끝까지 순차적으로 접근하여 자료구조의 원소를 변수에 저장한다.
int[] numArray = {10, 20, 30, 40};
for (int num : numArray) {
System.out.println(num);
}
출력
10
20
30
40
ㅤ
반복문이 실행될 때 break 키워드를 만나면 반복문은 종료되고 반복문을 탈출합니다. 이러한 특징을 이용하여 특정 상황에서 반복문을 종료할 때 사용할 수 있습니다.
그림에서는 기본적으로 반복문의 조건식이 true이며 무한 반복하도록 작성되어 있으나 if 조건문에 의해 i의 값이 100을 초과하면 break 키워드를 만나 반복문을 탈출합니다.
ㅤ
반복문이 실행될 때 continue 키워드를 만나면 반복문의 조건식으로 올라가 다시 조건 체크 후 조건식이 참이면 반복문 내부의 코드를 실행합니다. (반복문 내부에서만 사용가능합니다)
그림에서는 if문 조건식에서 i를 2로 나눈 나머지 값이 0일 때 continue 키워드를 만나면 반복문의 조건식으로 올라가 조건을 확인후 참이면 다시 반복문 내부의 코드를 실행합니다.
ㅤ
실습도구에 해당 코드를 작성해 봅시다
ㅤ
ㅤ
코드 작성
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
출력
0
1
2
3
4
ㅤ
코드 작성
int[] numArray = {1, 2, 3, 4, 5};
for (int i = 0; i < numArray.length; i++) {
System.out.println(numArray[i]);
}
출력
1
2
3
4
5
ㅤ
ㅤ
코드 작성
String[] textArray = {"오늘 코딩?", null, "내일 코딩?"};
for (String text : textArray) {
System.out.println(text);
}
출력
오늘 코딩?
null
내일 코딩?
ㅤ
코드 작성
char[] hangleArray = {'가', '나', '다', '라', '마', '바', '사', '아', '자', '차', '카', '타', '파', '하'};
for (char han : hangleArray) {
System.out.print(han);
}
출력
가나다라마바사아자차카타파하
ㅤ
ㅤ
코드 작성
int count = 0;
while (count < 10) {
count++;
if (3 < count && count < 7) {
continue;
}
System.out.println(count);
};
출력
1
2
3
7
8
9
10
ㅤ
ㅤ
코드 작성
do {
System.out.print("먼저 실행");
} while (false);
출력
먼저 실행
ㅤ
코드 작성
int i = 0;
do {
System.out.print(i);
System.out.println("회차");
i++;
} while (i < 5);
출력
0회차
1회차
2회차
3회차
4회차
실습) while문 case1 if조건문에서 (3 < count < 7)가 아니라 (3 < count&&count < 7) 라고 적는 이유가 궁금합니다
코드에서 대괄호가 빠진게 아닌가요?? int numArray = {10, 20, 30, 40}; // int[] numArray = {10, 20, 30, 40}; for (int num : numArray) { System.out.println(num); }
안녕하세요. 코드라떼입니다 :) 말씀하신 부분 오타로 인해 잘못 작성되었으며 수정하였습니다. 감사합니다 :)