조건을 만족하는 동안 블럭{}을 반복 - 반복횟수를 알 때 적합
for (int a=1; a<=3; a++) {
System.out.println("JAVA");
} // for end
// for문에 선언된 변수는 for문에서만 사용가능하다.
// System.out.println(a); 에러 (scope)
int b= 0;
for(b=1; b<=3; b++) {
System.out.println("PYTHON");
} // for end
System.out.println(b);
🖨 Console
JAVA
JAVA
JAVA
PYTHON
PYTHON
PYTHON
4 (i=4까지 대입이 되고 for문을 빠져나온다)
for (int a=1; a<=3; a++)
- 1부터 3까지 1씩 증가한다. 1,2,3
{System.out.println("JAVA");}
- 블록 안에 있는 문장을 3번 반복한다.
System.out.println(b);
- (i=4까지 대입이 되고 for문을 빠져나온다)
int sum=0;
for(int i=0; i<=100; i++) {
sum += i;
}
System.out.println("0부터 100까지의 합 = " + sum);
🖨 Console
0부터 100까지의 합 = 5050
int i = 0;
while(i<=3) {
System.out.println("SEOUL");
i++;
} // while end
🖨 Console
SEOUL
SEOUL
SEOUL
SEOUL
int sum=0;
int i =0;
while(i<=100) {
sum += i;
i++;
}
System.out.println("0부터 100까지의 합 = " + sum);
🖨 Console
0부터 100까지의 합 = 5050
int sum=0;
int i =0;
while(i<=100) {
i++;
sum += i;
}
System.out.println("0부터 100까지의 합 = " + sum);
🖨 Console
0부터 100까지의 합 = 5151
int sum=0;
int i =0;
while(sum<=100) {
i++;
sum += i;
System.out.print("i = " + i + " ");
System.out.println("sum = " + sum);
}
System.out.println("최종 : " + sum);
🖨 Console
최종 : 105
1+2+3+4+5+6+7+ ... 이 아니고 ❌
sum이 0일 때 i=1로 증가하고 i=1값이 sum에 들어가 sum=1 부터 시작한다.
1+2=3
3+3=6
6+4=10
10+5=15
15+6=21
21+7=28
28+8=36
36+9=45
45+10=55
55+11=66
66+12=78
78+13=91
91+14=105
i=1일 때 sum 값에 1이 들어가면
i++ 가 되어 i=2가 되고
sum에는 1이 들어있으므로 그 값에 2가 누적돼서 sum은 3이 된다.
반복문으로 돌아가서
sum=3 이 들어가고
i++가 되어 i=3 이 된다.
sum에는 3이 들어가 있으므로 그 값에 i=3이 더해져 sum은 6이 된다.
이런 식으로 sum이 100보다 작거나 같을 때까지 반복되는 문장
int j = 0;
do {
System.out.println(j+"JEJU");
j++;
} while (j<=3);
🖨 Console
0JEJU
1JEJU
2JEJU
3JEJU
하나의
반복문을 벗어난다. for(int a=1; a<10; a++) {
if(a==5) {
break;
}//if end
System.out.print(a + " ");
}//for end
🖨 Console
1 2 3 4
for(int a=1; a<10; a++) 문에 조건이 주어진다.
if 만약 a가 5일 때 break를 걸어준다.
break문이 실행되면 System.out.print(a + " "); 는 실행되지 않고 for문을 완전히 벗어난다.
결과적으로 1, 2, 3, 4 까지만 출력되고 종료된다.
for(int a=1; a<10; a++) {
if(a==5) {
continue;
}//if end
System.out.println(a + " ");
}//for end
🖨 Console
1
2
3
4
6
7
8
9
for(int a=1; a<10; a++)
- 1에서부터 9까지 반복하고
if(a==5)
- a가 5와 같은지 판단
continue;
- 반복문의 끝으로 돌아간다.
- 밑에 코드 다 무시하고 블럭의 끝으로 건너뛴다.
하나 이상의
반복문을 벗어날 수 있다. Loop1 : for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
if(j==5)
break Loop1;
//break;
//continue;
System.out.println(i + "*" + j + "=" + i*j);
}//for end
System.out.println();
}// Loop end
🖨 Console
2*1=2
2*2=4
2*3=6
2*4=8
break 문에 이름을 적어주면 전체반복문을 나갈 수 있다.
구구단 2단의 *4 까지만 출력된다.
Loop1 : for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
if(j==5)
//break Loop1;
break;
//continue;
System.out.println(i + "*" + j + "=" + i*j);
}//for end
System.out.println();
}// Loop end
🖨 Console
2*1=2
2*2=4
2*3=6
2*4=8
ㅤ
3*1=3
3*2=6
3*3=9
3*4=12
.
.
.
9*1=9
9*2=18
9*3=27
9*4=36
2단부터 9단까지 *4 까지만 출력한다.
하나의 for문만 나가기 때문에 Loop1 for로 돌아가 반복문을 반복한다.
Loop1 : for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
if(j==5)
//break Loop1;
//break;
continue;
System.out.println(i + "*" + j + "=" + i*j);
}//for end
System.out.println();
}// Loop end
🖨 Console
2*1=2
2*2=4
2*3=6
2*4=8
2*6=12
2*7=14
2*8=16
2*9=18
ㅤ
3*1=3
3*2=6
3*3=9
3*4=12
3*6=18
3*7=21
3*8=24
3*9=27
.
.
.
9*1=9
9*2=18
9*3=27
9*4=36
9*6=54
9*7=63
9*8=72
9*9=81