728x90
반응형
안녕하세요. 스마트팩토리입니다.
지난 시간에이어서 1부터 10까지 합을 구하는 방법을 while문을 통해서 알아보겠습니다.
1. while문
가. 1부터 10까지 구하는 프로그램, 합이 100을 넘었을때 i 값구하기
(1)whie(true)
while 조건식이 true면 항상 실행을 하게 됩니다. 조건이 무조건 참이란 의미니그대로 실행을 합니다.
1부터 더해지는 값을 더 출력하기 위해서 while문 안 if문에 i 와 sum을 출력하게 했습니다.
제한 조건이 있어서 wihile문을 벗어났을때 다시 한번 i 값과 sum 값을 출력하여 sum이 100을 넘긴 i값을 확실히 알 수 있게 했습니다.
if - else 문 에서 break 를 사용하여 sum이 100을 넘겼을때 if문을 나가도록 설정하였습니다.
while문 안에 증감식인 i++의 위치는 if 문 안에 있어도 되고 밖에 있어도 됩니다. if 문 밖에 놓을때와 그렇지 않을때 값에 차이가 있는지 꼭 확인할 필요가 있습니다.
package operation;
public class Ex01_04while {
public static void main(String[] args) {
int i=1,sum=0;
while(true ) {
sum+=i;
if(sum<=100) {
System.out.println(" i= "+ i+",sum= "+sum );
i++;}
else break;
}
System.out.println(" i= "+ i+",sum= "+(sum+i));
}
}
i++의 위치를 if문 밖에 놓아도 값은 동일합니다.
(2)whie(true)
while 조건을 true 대신에 while(sum<=100)로 했습니다. if 절과 동일하게 말이지요.
package operation;
public class Ex01_04while {
public static void main(String[] args) {
int i=1,sum=0;
while(sum<=100) {
sum+=i;
if(sum<=100) {
System.out.println(" i= "+ i+",sum= "+sum );
}
else break;
i++;}
System.out.println(" i= "+ i+",sum= "+(sum+i));
}
}
나. 1부터 10까지 구하는 프로그램에서 합이 50을 넘었을때 i 값구하기
1부터 10까지 합 중에서 누적함이 50을 넘길때 전후로 출력하는 프로그램입니다. 숫자를 변경만 해주면 됩니다.
기존 조건에서 sum<=100을 sum<=50으로 말이지요.
package operation;
public class Ex01_04while {
public static void main(String[] args) {
int i=1,sum=0;
while(sum<=50) {
sum+=i;
if(sum<=50) {
System.out.println(" i= "+ i+",sum= "+sum );
}
else break;
i++;}
System.out.println(" i= "+ i+",sum= "+(sum+i));
}
}
조건식의 수치만 변경하면 다양한 코딩을 만들 수 있습니다. 서서히 기본기를 익히다 보면 서서히 중급, 고급으로 넘어갈 날이 오지 않을까 싶습니다. 아직은 기초 단계지만 말이지요.
728x90
반응형
댓글