바트심슨으로 하루만 살고 싶다
6. Java - 반복문( for 문 , while 문 , 중첩 반복) 본문
for문
for문의 구성
for( 초기문 ; 조건식 ; 반복 후 작업){
.... 작업문 ....
}
//예시
for ( int i = 0; i < 10 ; i++){
System.out.println(i)
}
for문의 특징
- 초기문
>> for문 실행 후 오직 한 번만 실행되는 초기화 작업
>> 콤마 ( ; ) 으로 구분하여 여러 문장 나열 가능
>> 초기화를 할 일이 없으면 생략 가능
- 조건식
>> 논리형 변수나 논리 연산만 가능
>> 반복 조건이 true이면 계속 반복, false이면 반복 종료
>> 조건식이 true 상수인 경우, 무한 반복 == 비어 있어도 true로 간주
- 반복 후 작업
>> 반복 작업 문장들의 실행 후 처리 작업
>> 콤마 ( ; )로 구분하여 여러 문장 나열 가능
예시
for (int i = 1; i <= 100; i++) {
System.out.println(i);
}
//1 ~ 100 까지 숫자 나열
for (int i = 10; i >= 0; i--) {
System.out.println(i);
}
//10 ~ 0 까지의 숫자를 역순으로 나열
for (int i = 1; i <= 100; i++) { // 전제조건
if (i % 5 == 0 && i % 6 == 0) {
System.out.println(i);
}
}
// 1 부터 100까지의 수 중에서 5와 6의 공배수들 출력
// 30
// 60
// 90
int sum = 0;
for (int i = 0; i <= 100; i++) { // for ( 초기식 ; 조건식 ; 증감식;){실행문장}
if (i % 2 == 0) //짝수의 합
sum += i;
}
System.out.println(sum);
// 2550 출력
while 문
wihle문의 구성
while ( 조건식 ) {
... 작업문 ...
}
while문의 특징
- 조건식
>> 반복 조건이 true 이면 반복, false 이면 반복 종료
>> 반복 조건이 없으면 컴파일 오류!
>> 처음부터 반복 조건을 통과한 후 작업문 수행
- while문의 구조
- 예시
>> 위의 while 문은 i 값을 후위 연산자 i++ 반복해서 최종적으로 i가 10이 되는 순간 반복 종료.
>> 출력은 0 ~ 9까지 일일이 나열해서 출력.
>> 1부터 100까지 숫자들의 합 출력하기
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
System.out.println(sum);
5050
중첩 반복
>> 반복문이 다른 반복문을 내포하는 구조
>> 이론적으로는 몇 번이고 중첩 반복이 가능하지만 추천하지 않는 방법
( why? - 프로그램 구조를 복잡하게 하며, 연산 횟수가 증가해 속도가 느려짐.)
>> 2중 또는 3중 반복이 적당!
예시
>> 이중 for문을 돌리게 된다면 다음과 같은 행렬이 나타나는 것을 알 수 있다.
>> 이를 참고하여 다른 예제에 적용해보자.
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print("( " + i + " , " + j + " )" + "\t");
}
System.out.println();
}
출력
( 1 , 1 ) ( 1 , 2 ) ( 1 , 3 ) ( 1 , 4 ) ( 1 , 5 )
( 2 , 1 ) ( 2 , 2 ) ( 2 , 3 ) ( 2 , 4 ) ( 2 , 5 )
( 3 , 1 ) ( 3 , 2 ) ( 3 , 3 ) ( 3 , 4 ) ( 3 , 5 )
>> 구구단 만들기
System.out.println("구구단 출력 프로그램");
for (int i = 1; i <= 9; i++) {
System.out.println("================================");
System.out.println(i + " 단");
for (int j = 1; j <= 9; j++) {
System.out.println(i + " x " + j + " = " + (i * j));
}
}
구구단 출력 프로그램
================================
1 단
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
1 x 6 = 6
1 x 7 = 7
1 x 8 = 8
1 x 9 = 9
================================
2 단
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
.
.
.
================================
9 단
9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
'Java > Java' 카테고리의 다른 글
8. Java( for - each 문, 2차원배열) (0) | 2022.11.28 |
---|---|
7. Java - 배열 (0) | 2022.11.25 |
5. Java - 조건문 ( if문 , if-else문 , swich문) (1) | 2022.11.23 |
4. Java : Scanner, 연산자 (0) | 2022.11.23 |
3. Java : 식별자, 데이터 타입, 변수와 선언, 타입 변환 (0) | 2022.11.23 |
Comments