While문 (반복문)
While문은 for문과 같은 반복문으로 for문이 정해진 횟수만큼 반복을 한다면 While문은 반복횟수가 조건에 따라 일정치 않을 때 주로 사용합니다.
1
2
3
4
5
6
7
8
9
10
|
int i = 0; // int i(j)=0부터 i(j)가 10보다 작을 때 까지 반복하는 반복문
// for문의 초기화 식이 while문은 미리 선언되어야 한다.
while(i<10) {
System.out.println(i);
i++; // for문의 증감식 역할이다.
}
for(int y=0;y<10;y++) {
System.out.println(y);
}
|
cs |
위 Code와 같이 for문과 while문은 서로 변경하여 사용 할 수 있다. 다만 초기화식과 증감식의 위치가 다르다.
While문 예제
숫자를 입력받아 Factorial을 계산해 주는 program code를 작성 하라
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
System.out.print("숫자를 입력하시오 : ");
int num = scanner.nextInt(); // Factorial 숫자 입력
int fac = num;
int total=1; // 값을 누적시킬 변수 (곱하기이기 때문에 초기값이 1이다.)
while(fac!=0) {
total = total*fac; // total에 입력받은 숫자 곱하면서 누적
fac--; // 입력받은 숫자 1씩 감소시키며 total에 곱한 값 누적
// 값이 0이 될 때 까지 반복
}
System.out.println(num+"! = "+total); // 결과 값 출력
|
cs |
해당 Code에서 While문은 입력 받은 숫자로 초기화식을 설정 하였고 fac변수가 0일때 까지 반복하며 total변수에 곱한값을 반복하여 누적해 가는 Code이다.
정수형 숫자를 입력받아 각 자리수의 값들을 더하는 Code를 작성하라
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
System.out.print("숫자를 입력하세요 : ");
int num = scanner.nextInt(); // 정수형 숫자 입력
int total=0; // 값을 누적시킬 변수(더하기이기 때문에 초기값이 0이다.)
while(num!=0) {
total=total+(num%10); // 나머지 계산을 이용해 뒤에 자리 수 부터 합
num/=10; // 10으로 나누어 뒤에자리수 제거
}
System.out.println("입력된 숫자의 합은 : "+String.format("%2d", total)+"입니다.");
|
cs |
입력받은 숫자를 나머지 계산(%)을 이용해 뒤에자리 수부터 누적 시켜나가 더해주는 Code 입니다. 123456을 입력 받으면 처음에 10으로 나눈 나머지인 6을 누적 시키고 나눗셈을(/)이용해 6을 제거하고 12345만 남깁니다. 이 과정을 입력받았던 숫자가 0이 될때까지 반복해 각 자리수의 합을 도출해 낼 수 있습니다.
'Java Log' 카테고리의 다른 글
Java / 자바 배열(Array) 선언 정리 및 예제 / (0) | 2019.11.05 |
---|---|
Java / Switch-case 문(스위치문) 정리 및 예제 / 점수 별 학점 분류 (0) | 2019.11.04 |
Java Study 4day(2) / 이중 for문 (이중 반복문)예제(구구단, 별찍기, 계단 코드) (0) | 2019.10.29 |
Java Study 4day(1) / For문 (반복문) 정리 및 예제 (배수의 합, 구구단) (0) | 2019.10.28 |
Java Study 3day / Java IF문 (조건문) 정리 및 If문 예제(점수 별 학점 구하기) (0) | 2019.10.25 |