Patrick's 데이터 세상
for, while 그리고 do~while 본문
■ 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문은 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
'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 |