ex;

** 2단 **

2 * 1 = 2

2 * 2 = 4

.

.

.

2 * 9 = 18

---------

** 3단 **

3 * 1 =3

.

.

.

 

분석 : 2~9단까지 8번 반복

2 가 출력될때 1~9까지 9번 반복.

총 72번이 반복되어야함.

 

int dan, n;

for (dan=2; dan<10; dan++) {

System.out.printf("** %d단 **\n", dan);

for (n=1; n<10; n++){

System.out.printf("%d * %d = %d\n", dan, n, dan*n);

}

System.out.println("-------");

}

for (int i=1; i<=3; i++) {

System.out.println("i:"+i);  // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

for(int j=1; j<=i; j++) {

System.out.println("i:"+I+", j:"+j); // 이 print문은 i=1일 때 1번, i=2 일 때 2번, i=3일때 3번 나옴.

} // 즉 i=1일때 for 1번 실행, i=2일때 for 2번 실행 ...

System.out.println("--------"); // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

}

1~100까지 홀수합

int s=0;

for (int n=1; n<=100; n+=2) {

s+=n;

}

for (초기식 ; 조건 ; 증가식) {}

초기식이 조건을 만족하면 {}를 실행하고 증가한다.

 

1~100까지 짝수합

int s=0;

for (int n=2; n<=100; n+=2) {

s+=n;

}

1~100까지 3의 배수의 합

int s=0;

for (int n=3; n<=100; n+=3) {

s+=n;

}

 

int s;

s=0;

for (int n=0; n<100; n++) {

s+=n;

}

n은 0이고 (시작) n이 100미만이면 n을 +1하고, s에 n을 더한다.

이것을 while로 쓰면

int s, n;

s=n=0;

while (n<100) {

n++;

s+=n;

}

이렇게 된다.

while은 처음조건이 false면 한도 while안을 실행하지 않는다.

do while은 적어도 한번은 실행한다!

int n, s;

n=s=0;

 

while (s<100) {

n++;

s+=n;

}

System.out.printf("n = %d, s = %d\n", n, s);

===============================================

do{

n++;

s+=n;

} while(s<100);

System.out.printf("n = %d, s = %d\n", n, s);

===============================================

 

복습

제어문

while문
-형식
while(조건식) {
실행문;
}

- 조건식의 결과는 반드시 true 또는 false (boolean이어야 한다.)
- 처음 조건식이 거짓이면 한번도 실행하지 않음 
- 조건식이 만족할 때 수행되는 실행문이 한 개인 경우에는 ({})생략 가능.
- while(true)와 같이 조건식을 true로 설정하면 무한 루프.
- while문 안에 또 다른 while문이나 다른 반복문 사용 가능.

입력받은 값이 

예를 들어 

100라면 3자리 정수이다.

10으로 3번 나눗셈을 하게되면

0.100 이것은 int에 저장하지 못해 0이 된다.

따라서 입력받은 값이 0이 아니면 계속 나누기 10을 해주고

나누기를 한번 해줄 때마다 n에 1을 더해준다.

 

+ Recent posts