Patrick's 데이터 세상

for, while 그리고 do~while 본문

Programming/Java

for, while 그리고 do~while

patrick610 2020. 6. 21. 15:20
반응형
SMALL

■ while 반복문

class WhileBasic
{
	public static void main(String[] args)
    {
    	int num=0;
        
        while(num<5)
        {
	    System.out.println("I like Java " + num);
            num++;
        }
    }
}

· 실행결과

I like Java 0
I like Java 1
I like Java 2
I like Java 3
I like Java 4

'System.out.println("I like Java " + num);' 문장이 총 5회 반복 실행되었음을 알 수 있습니다.
while문에 의해 0에서부터 4까지 num<5 조건 동안 중괄호 영역이 총 5회 반복 실행된 것입니다.

※ 중괄호는 필요에 의해서 삽입

   while문의 중괄호는 반복 실행해야 할 문장이 둘 이상인 경우에 필요한 것입니다.(if문에서의 중괄호와 역할이 같습니다.) 따라서 반복 실행할 문장이 하나라면, 굳이 중괄호를 할 필요가 없습니다.

 

 

■ do~while 반복문

while문과 do~while문의 차이점은 반복조건 검사의 시점입니다.
while문은 반복조건을 검사한 다음에 실행 여부를 결정하는 반면, do~while문은 일단 한번 실행을 한 다음에 반복의 조건을 검사합니다.

class DoWhileBasic
{
	public static void main(String[] args)
    {
    	int num=0;
        
        do
        {
        	System.out.println("I like Java " + num);
            num++;
        }
        while(num<5);
    }
}

do~while문의 흐름

do~while문은 while문과 달리 반복의 조건을 마지막 부분에 명시하게 되어 있습니다.

· 반복영역 실행 → 반복 조건 검사 → true면 반복영역 실행 → 반복조건 검사 → true면 . . .

· 반복 영역을 먼저 실행한 다음에 반복 조건을 심사합니다.
· 반복영역을 먼저 실행하기 때문에, 반복조건을 만족하지 않더라도 한 차례는 실행됩니다.

그래서 최소한 한 차례의 실행을 필요로 하는 경우에는 do~while문을 쓰고, 그 의외의 경우에는 while문, 또는 for문을 쓰는 것이 일반적입니다.

 

 

■ for 반복문

반복의 횟수가 정해져 있는 상황에서는 for문을 이용하여 다음과 같이 간단히 표현할 수 싰습니다.(중괄호 생략 가능)

class ForBasic
{
	public static void main(String[] args)
    {
    	for(int i=0; i<3; i++)
        	System.out.println("I love Java " + i);
    }
}

· 실행결과

I love Java 0
I love Java 1
I love Java 2

위 문장에서 for문의 'for(int i=0; i<3; i++)'에서 첫 번째, 두 번째, 세 번째 조건이 갖는 의미는 다음과 같습니다.

① 반복의 횟수를 세기 위한 변수
② 반복의 조건
③ 반복의 조건을 깨뜨리기 위한 연산

for문은 while문과 달리 반복에 필요한 모든 것을 한 줄에 나열하고 있는 것이 장점입니다.

※ for문과 콤마 연산자

   for(int i=0, j=7, i<j; i++, j--)
        System.out.println("I love Java " + i + j);

   반복의 조건을 명시하는 위치에는 콤마 연산자를 사용할 수 없지만, 그 이외의 영역에서는 콤마 연산자를 사용해서 둘 이상의 변수 선언 및 둘 이상의 연산문 삽입이 가능합니다. 
위 문장의 출력 결과는 다음과 같습니다.

   I lova Java 07
   I lova Java 16
   I lova Java 25
   I lova Java 34

 

반응형
LIST

'Programming > Java' 카테고리의 다른 글

method 메소드  (0) 2020.06.23
continue & break  (0) 2020.06.23
switch, break  (0) 2020.06.21
if, else  (0) 2020.06.21
자바 제공 단항 연산자들  (0) 2020.06.21
Comments