반복문은 조건에 따라 특정 실행문을 반복적으로 수행할 수 있는 문입니다. 이번 글에서는 반복문 중 for문에 대해 다루어 보겠습니다.
for 문
지정된 횟수만큼 반복 처리합니다.
for(초기식; 조건식; 증감식) {
문장1;
}
다음문장;
for문은 초기식, 조건식, 증감식으로 구성됩니다. 실행되는 순서는 다음과 같습니다.
초기식이 실행된 후, 변수값이 조건에 맞는지 검사합니다. true인 경우 문장을 수행한 후 증감식에 따라 변수를 증가시키거나 감소시킵니다. 변경된 값이 조건에 맞는지 다시 검사합니다. 이 과정을 반복 처리하다가 조건식이 false가 되면 반복문을 빠져나옵니다.
다음은 for문을 이용하여 hello를 5번 출력하는 프로그램입니다.
for (int i = 0; i < 5; i++) {
System.out.println("hello "+i);
}//end for
* for문을 사용하여 1부터 10까지 합계 구하기
for문을 사용하여 1부터 10까지 합계를 구할 수 있습니다.
int total = 0;
for (int n = 1; n <= 10; n++) {
total += n;
}
System.out.println("총합은 : "+total);
* for문을 사용하여 1부터 10까지 짝수 합계 구하기
홀수나 짝수의 합만을 구하고 싶을 때는 다음과 같이 n+=2를 사용하여 n을 2씩 증가시키면 됩니다.
for (int i = 0; i <=10; i+=2) {//i=0,2,4,6...
total += i;
System.out.println("total : "+ total+ "\t" +"i : "+i);
}
System.out.println("총합="+total);
혹은 다음과 같이 if문을 사용하여 i가 짝수가 됐을 때만 총합에 누적시키는 방식으로 짝수의 총합을 구할 수도 있습니다.
for (int i = 0; i <=10; i=i+1) {//i=0,2,4,6...
if(i%2==0) {//i가 짝수가 됐을때만 총합에 누적
total += i;
System.out.println("total : "+ total+ "\t" +"i : "+i);
}
}
System.out.println("총합="+total);
* for문을 사용하여 1부터 10까지 홀수와 짝수 합계 각각 구하기
다음은 if-else문을 사용하여 홀수와 짝수의 합을 각각 나누어 계산하는 프로그램입니다.
int total = 0;
int total2 = 0;
for (int i = 0; i <=10; i=i+1) {
//0,1,2,3,...10
if(i%2==0) {//짝수인 경우
total += i;
System.out.println("total : "+ total+ "\t" +"i : "+i);
} else {//홀수인 경우
total2+= i;
System.out.println("total2 : "+ total2+ "\t" +"i : "+i);
}
}
System.out.println("total="+total+", total2="+total2);
* 이중(중첩) for문을 사용하여 구구단 출력하기
for문을 중첩하여 사용할 수 있습니다. 이중 for문을 사용하여 구구단을 출력해 보겠습니다.
for (int i = 2; i <= 9; i++) {//바깥
for (int j = 1; j <= 9; j++) {//안쪽
System.out.println(i+" * "+j+" = "+(i*j));
}
System.out.println("========================");
}//end for
System.out.println("main 종료");
바깥 for문이 한 번 실행될 때 안쪽 for문이 조건식 false가 나올 때까지 반복하여 실행됩니다. 결과적으로 i값이 2일 때 j는 1부터 9까지 증가하고, 이후 i값이 1씩 증가하며 9까지 반복됩니다. 따라서 다음과 같은 결과를 얻을 수 있습니다.
* 이중(중첩) for문을 사용하여 직각삼각형 만들기
다음과 같이 활용할 수도 있습니다.
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
j가 i까지 증가하기 때문에 i가 1일 때 문장이 한 번 수행되고, 2일 때 두 번 수행됩니다. i가 5까지 증가하므로 다음과 같이 * 표시의 개수가 점차 증가하는 모양을 만들 수 있습니다.
for문의 기본 문법과 다양한 활용 방안을 정리해 보았습니다. 다음 글에서는 반복문 중 while문에 대해 이어서 보도록 하겠습니다.
'JAVA' 카테고리의 다른 글
[JAVA] 자바 문장 - break 문, continue 문 (0) | 2022.05.19 |
---|---|
[JAVA] 자바 문장 - 반복문 (while 문, do-while 문) (0) | 2022.05.19 |
[JAVA] 자바 문장 - 분기문 (if 문, if-else 문, switch 문) (0) | 2022.05.18 |
[JAVA] 자바 문자열(String) 함수 (0) | 2022.05.18 |
[JAVA] 자바 연산자 (Operator) (0) | 2022.05.17 |
댓글