[Java] 자바 101 강의 #14 ( 반복문 for형 )
- Lecture/Java 강의
- 2022. 5. 2.
for문은 Java 뿐만 아니라 다양한 언어에서 가장 많이 사용하는 상징적인 반복문입니다. 이번 포스팅에서는 for문의 사용 방법과 for문을 이용한 총합을 구하는 것을 만들어보고 이해해보겠습니다.
for문 사용법
for (변수 초기화; 조건; 증감) {
// 실행문
}
for 문의 괄호() 사이에는 3가지의 식이 존재하는데 첫번째는 변수를 초기화 하고, 두번째는 참(True)이 되는 조건을 지정하며, 마지막으로 값을 증가 혹은 감소 시키는 공식을 넣습니다.
1~100까지의 합을 구하는 프로그램
public class Main{
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1부터 100의 총합은 ? " + sum);
}
}
1부터 100의 총합은 ? 5050
위의 공식을 하나씩 확인해보면, 우선 i라는 int(정수)형 변수를 선언하고 초기화 값으로 1의 값을 대입했습니다. 그리고 i의 값이 100보다 작거나 같은지를 물어봤습니다. i는 현재 1이기 때문에 100보다 작거나 같기 때문에 조건이 참이기 때문에 실행문에 있는 것을 실행합니다.
즉 sum에 1을 더하게 되는 것이죠. 현재 sum은 0이었으니, sum은 1이 될 것입니다. 실행문이 끝나면 i의 값을 증감시키며 반복을 하게 됩니다.
다만 여기서 알아야 될 것은 변수를 초기화 하는 것은 딱 1번만 실행이 됩니다. 한번 사이클이 돈 i는 2가 되었고 2는 역시나 100보다 작거나 같기에 참이 되며, sum에 2를 더하게 됩니다. sum은 현재 1이었기 때문에 1+2가 되어 sum은 3이 되며, i의 값을 다시 ++ 해서 1을 증가시킵니다.
이런식으로 반복하다보면, i가 100이 될때까지 loop를 돌게 되며, i가 101이 되는 순간 101 <= 100이라는 조건이 성립되지 않기 때문에 for문은 모두 끝이나게 됩니다.
100부터 1을 합치는 프로그램
그럼 이번에는 반대로 for문을 구해보도록 하겠습니다. for문의 증감식은 말그대로 증가와 감소가 같이 있기 때문에 100부터 1까지 감소시키면서 동일하게 합치는 것을 해보겠습니다.
public class Main{
public static void main(String[] args) {
int sum = 0;
for(int i = 100; i >= 1; i--) {
sum += i;
}
System.out.println("1부터 100의 총합은 ? " + sum);
}
}
1부터 100의 총합은 ? 5050
이번에는 i의 값이 100이며, i는 1보다 크거나 같을때까지만 반복문을 실행하게 됩니다. 증감식의 경우도 --를 해서 1씩 계속 감소하면서, 역으로 계산하게 되며 i가 0이 되는 순간 반복문이 끝나게 됩니다.
1부터 10 사이 중, 홀수값 출력
public class Main{
public static void main(String[] args) {
for(int i = 1; i <= 10; i+=2) {
System.out.println("홀수 -> " + i);
}
}
}
홀수 -> 1
홀수 -> 3
홀수 -> 5
홀수 -> 7
홀수 -> 9
이번에는 약간 변형을 해서, 증감식을 ++나 --가 아니라, +=를 해서 한번에 N이상 증가 혹은 감소시키는 방식입니다. 홀수를 구하는 것으로 반대로 2~10사이의 짝수를 출력한다면, 위 공식에서 i만 2로 시작하면 될 것입니다.
'Lecture > Java 강의' 카테고리의 다른 글
[Java] 자바 101 강의 #13 ( Map형 ) (0) | 2022.05.01 |
---|---|
[Java] 자바 101 기초 강의 #12 ( Set형 ) (0) | 2022.04.27 |
[Java] 자바 101 기초 강의 #11 ( List형 ) (0) | 2022.04.26 |
[Java] 자바 101 강의 #10 ( Switch문 사용하기 ) (0) | 2022.04.25 |
[Java] 자바 101 강의 #9 ( IF 조건문, 성적 등급 프로그램 ) (0) | 2022.04.22 |