반복문: do-while 문과 for 문, 그리고 별찍기 예제
1. do-while 문
do-while 문은 최소 한 번은 무조건 실행되는 반복문입니다. 이는 일반적인 while 문과 다르게 조건식이 나중에 평가되기 때문입니다. 조건식이 false인 경우에도 한 번은 실행되는 특성이 있습니다.
do-while 문 기본 구조:
int i = 0;
do {
System.out.println("i is " + i);
i++;
} while (i < 5); // 조건식이 마지막에 평가되므로, 최소 한 번은 실행됨
- do 블록 안의 코드는 조건식이 평가되기 전 최소 한 번 실행됩니다.
- 이후 조건식이 false가 될 때까지 반복합니다.
2. for 문
for 문은 반복 횟수가 명확할 때 사용하기 좋습니다. 다른 반복문과 달리, 초기화, 조건식, 증감식이 모두 한곳에 모여 있어 가독성이 높습니다.
for 문 기본 구조:
for (int i = 0; i < 5; i++) {
System.out.println("i is " + i);
}
- 초기값: 반복문 시작 시 변수 초기화.
- 조건식: 반복할지 여부를 결정하는 boolean 식.
- 증감식: 반복할 때마다 변수 값 변경.
중첩된 for 문:
for 문 안에 또 다른 for 문을 사용하는 중첩반복문을 통해 복잡한 반복 처리가 가능합니다.
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
위 코드에서 두 개의 for 문을 통해 별을 찍는 패턴을 만듭니다.
3. 3항 연산자 활용
자바의 3항 연산자를 이용하면 간단한 조건문을 줄일 수 있습니다. 주로 변수 값 할당에 사용됩니다.
int max = (a > b) ? a : b; // a가 b보다 크면 a를, 아니면 b를 할당
4. 무한 반복문
while(true) 또는 for 문을 통해 무한 반복을 구현할 수 있으며, 이를 사용하려면 탈출 조건을 반드시 넣어야 합니다.
while (true) {
System.out.println("무한 반복 중...");
if (조건) {
break; // 조건을 만족하면 반복 종료
}
}
5. break 와 continue
- break: 반복문을 즉시 종료.
- continue: 특정 조건을 만족할 때 해당 반복만 건너뛰고, 다음 반복으로 넘어감.
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 짝수일 때는 출력하지 않고 건너뜀
}
System.out.println(i); // 홀수만 출력됨
}
6. 별 찍기 예제
별 찍기 1:
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
출력:
*
**
***
****
*****
별 찍기 2:
for (int i = 0; i < 5; i++) {
for (int j = 5; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
출력:
*****
****
***
**
*
별 찍기 3 (직각 삼각형):
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i - 1; j++) {
System.out.print(" "); // 공백 출력
}
for (int k = 0; k <= i; k++) {
System.out.print("*"); // 별 출력
}
System.out.println();
}
출력:
*
**
***
****
*****
이처럼 for 문을 활용해 다양한 모양을 그릴 수 있으며, 복합적인 제어 흐름을 처리할 수 있습니다.
'Java' 카테고리의 다른 글
자바(Java) 메서드 (1) | 2024.10.22 |
---|---|
자바(Java) 배열 , 향상된 for문(for-each문) (0) | 2024.10.22 |
자바(Java)의 switch 조건문 , 반복문 while (0) | 2024.10.22 |
자바(Java)의 배열, 조건문 , 스캐너 (0) | 2024.10.22 |
자바(Java)의 출력,변수,데이터타입,형변환,연산 (1) | 2024.10.22 |