본문 바로가기

JAVA/기초다지기

반복문(While)

인간이 잘하지 못하는 반복작업을

시스템에게 대행하기 위해서 만들어진 것이다.

 

시스템이 그 반복적인 작업을 사람 대신에 수행할 수 있는 수단이

구체적으로는 반복문이라는 것을 통해서 달성되는 것이다. 

반복문은 영어로 loop, iteration 이라고 한다.

 

반복문의 문법에는 크게 몇가지가 있는데

그 중 2가지를 알아보자

 

1. while

while(조건){
        반복 실행 영역
  }

while로 시작하면

그럼 컴퓨터는 이제부터 반복문이 오겠구나를 알 수 있게된다.

 

그리고 그 옆 작은 괄호 안에 반복의 조건이 들어오게 되는데

이것은 어떠한 기능을 갖는 정보가 들어오게 되냐면

언제까지 반복할 것이냐가라는 것이 들어오게된다.

 

그리고 중괄호가 들어오고

중괄호가 끝나게된다.

 

중괄호와 중괄호 사이에 있는 그 구간에는

반복적으로 실행하고자 하는것이 위치하게 된다.

즉, 반복작업이 들어오게 된다는 것이다.

 

괄호 안에 들어오늘 조건이

참(true) 인 동안 반복적인 작업을 

반복적으로 실행한다 라는 것이

 

이 while문의 문법적인 구성이다.

 

 

package loop;

public class WhileDemo {

	public static void main(String[] args) {
		//(true)값이 박혀있다.
		//값이 고정되어있는 것을 하드코딩이라고 한다.
		while(true) {
			//true일 경우  출력되는 메세지
			//화면을 출력하는 println이라는 명령어가 위치해 있다.
			System.out.println("Coding Everbody");
			//true일 경우 실행되는 것이기 때문에 무한루프가 된다.
			//단, false일 경우 어차피 false이면 실행되지 않기때문에 
			//에러가 발생하게 된다.
		}

	}

그런데 

지금까지 이런 형태의 반복문들.

while의 조건이 true 나 false 가 하드코딩 되어있는 형태의 이런 반복문들은효용이 없다.

 

왜냐하면 값이 고정되어있기 때문이다.

 

물론 예외적으로

어떠한 작업을 무한대로 실행을 시켜야 되는 경우도 있을 수 있겠지만

그러한 경우, true가 하드코딩 될 수 있을 수 있다.

 

하지만, 

최소한 조건에 false가 들어가있거나  

또는 위에 처럼 똑같은 작업이 반복적으로 별로 의미 없는 작업이

반복적으로 실행되는 경우는 큰 효용은 없다라는 것이다.

 

그러면 이 반복문이 조금 더 효용을 갖기 위해서는

조금 더 지능적으로 반복문이 진행 될 필요가 있다는 것이다.

 

즉, 언제까지 반복문이 반복이 진행될 것이냐

바로 그러한 정보와 반복문이 결합됐을때 반복문은 좀 더 큰 효용을 갖게 된다는 것이다.

 

 

(조건문) 안에다가 어떠한 변수값을 줘서

이안에 있는 이 반복문이 실행되는 요과정에서 이렇게 실행이 된다는것이다.

 

반복문이 실행되는 과정에서

조건문안에 들어가있는 변수의 값이 true였다가 false가 되서 멈추게 한다거나

또는 반복적으로 실행되는 구문안에서 

반복문을 종료시키는 어떤 코드가 어떤 맥락에서 동작하거나

이런걸 통해서 언제까지 반복할 것이냐라고 하는 것을

우리가 프로그래밍적으로 지정할 수 있게된다는 것이다.

 

그 방법에 대해서 살펴보자

 

 


아래의 반복문은 i의 값을 1씩 순차적으로 증가시킴으로써 반복의 지속 여부를 결정하고 있다.

int i = 0;

i의 값이 10보다 작다면 true, 크다면 false가 된다.
현재 i의 값은 0 이기 때문에 이 반복문은 실행된다.

while(i<10){         
    System.out.println("Coding Everybody"+i);
    i++;
    }

i의 값에 1을 더한다. 
반복문의 중괄호의 마지막 라인에 도달하면 반복문은 반복문을 재호출하게 된다.
이때, i < 10의 값을 검사하게 된다.

조건문의 조건이 true일 때까지 구문이 반복적으로 이과정이 반복되면서  출력된다.

 

 

'JAVA > 기초다지기' 카테고리의 다른 글

break와 continue(반복문의 제어)  (0) 2021.03.05
for  (0) 2021.03.05
논리연산자(NOT)  (0) 2021.02.28
논리연산자(OR)  (0) 2021.02.28
논리연산자  (0) 2021.02.28