본문 바로가기

공부/java

java 반복문 : while문, do ~ while문

728x90

 

 

 

※ while 문법
-조건이 '참'을 만족하는 동안 작업영역을 반복 수행

while (조건) {
  반복작업영역;
}

 

 

ex)

int i=1,sum=0;
while (i<=50) {
   sum+=i;
   i++;
   }
   System.out.printIn("합계결과="+sum);


결과는 아래와 같음)


합계결과=1275

// 위 while 예제를 for문으로 쓰면 아래와 같다
ex)

int sum=0;
for (i=1;i<=50;i++) {
   sum+=i;
   }
   System.out.printIn("합계결과="+sum);


결과는 아래와 같음)


합계결과=1275

무한 loop가 필요한 경우 while문을 사용하고 이때 조건 및 break을 함께 사용한다.
while로 무한루프를 돌릴때는 while (true) 라고 써주면 된다.

 

 

ex)

boolean a=true
int cnt=1;
while (a) {
   System.out.printIn(cnt+"회 반복수행");
   if(cnt==5)
      break;
   cnt++;
   }
System.out.printIn("반복종료");


결과는 아래와 같음)


1회 반복수행
2회 반복수행
3회 반복수행
4회 반복수행
5회 반복수행
반복종료
ex)

int i=1, sum=0;
while (true) {
   sum+=i
   if(sum>=1000) {
      break;
   }
   i++
}
System.out.printIn("1000 돌파 합계=1부터"+i+"까지 합="+sum);


결과는 아래와 같음)


1000 돌파 합계 1부터45까지 합=1035

 

 

※ break과 비슷한 continu문의 사용법

ex)

int sum=0;
while(true) {
   Scanner sc=new Scanner(System.in);
   int num=cs.nextInt();
   if(num==0)
      break;
   if(num%5!==0)
      continue;
   sum+=num;
}
System.out.printIn("합계="+sum);


// comtinue는 아래 내용은 실행하지말고 반복을 계속하란 뜻


//예를들어 10 엔터 7 엔터 12 엔터 5 엔터치고 마지막으로 0 엔터처서 입력하면 break 되면서 결과도출
//위 식은 0이 입력되면 식을 종료하고 5의 배수만 sum+=num으로 넘어가 계산되니 결과는 아래와 같음


10
7
23
5
0
합계=15

 

 

※ ~do~while문
- 실행영역을 먼저 수행한 후 나중에 지정된 조건을 체크하여 작업 수행
- while은 조건이 만족하지 않으면 한번도 실행하지 않기 때문에 한번도 실행하지 않을 수 있지만 do while은 무조건 한번 이상 실행

do {
 반복작업영역;
} while(조건식);

 

 

 

반응형

'공부 > java' 카테고리의 다른 글

java 클래스와 객체 코딩  (0) 2023.01.11
java 배열코딩(array) : 1차원 배열과 2차원 배열  (0) 2023.01.10
java 반복문 : for문, 확장 for문  (0) 2023.01.10
java 조건제어 if문, switch문  (0) 2023.01.10
java 연산자 코딩  (0) 2023.01.10