본문 바로가기

컴퓨터언어/JAVA(자바)

[JAVA강좌] 17강 반복문 - while과 do while

728x90
반응형

 

 

 

 

 

 

 

- 반복은 컴퓨터가 가장 잘하는 작업입니다.

System.out.println("a");
System.out.println("a");
System.out.println("a");
System.out.println("a");
System.out.println("a");

 

- 이런 식의 코드를 쓴다고 보도록 하겠습니다. 

- 물론 복붙이나 단축키를 통해서 5번 정도는 붙일 수 있습니다.

- 하지만 이 작업을 100번 1000번 해야 한다고 하면 너무 힘들겠죠?

- 그래서 반복적인 작업을 하는 구문이 따로 있습니다.

- 이번 강좌에서는 while문과 do while문을 배워 보도록 하겠습니다. 

 

 

 

 

 

 

 

1. while문


- while은 ~ 동안이라는 뜻을 갖고 있습니다. 

- 조건식이 맞는 동안 코드 블록 { } 내부의 코드를 반복하라는 구문입니다. 

 

 

 

1) while 구문 문법

## 문법

while(조건식){
	반복할 코드;
}

 

- 기본 if문처럼 매우 간단합니다. 

- 조건식이 맞으면 반복할 코드를 계속 실행합니다. 

- 조건식이 맞지 않으면 while문을 벗어납니다. 

- 이때 조건식에 true를 쓰면 무한 루프에 빠질 수 있으므로 주의해서 사용해야 합니다. 

 

 

 


 

 

 

2) while 구문 예제

- 그럼 간단하게 1부터 10까지 출력하는 예제로 반복을 해보겠습니다. 

- 아래에서는 직접 실습으로 확인해 보겠습니다.

- 패키지(ch12_repeat)과 클래스(Ex01_While.java)를 추가해 주세요. 

- 기초적 작업을 모르는 분은 아래 주소를 클릭하고 보고 오세요.

https://ossam5.tistory.com/613

 

[JAVA강좌] 1강 JAVA변수와 자료형

1. 프로젝트 패키지 생성 및 자바 파일 생성 - 앞으로의 강좌에서는 패키지 생성 및 자바 파일 생성하는 것을 보여드리진 않겠습니다. - 지금 잘 확인해 주시기 바랍니다. 1) 프로젝트 패키지 생성

ossam5.tistory.com

 

 

 

 

## while문 실습1 - Ex01_While.java

package ch12_repeat;

public class Ex01_While {

	public static void main(String[] args) {
		int num = 1; //출력할 숫자를 담는 변수 - 처음값이 1을 담기
		
		while(num <= 10) { //num이 10보다 작거나 같으면
			System.out.println(num); //num출력
			num++; //그 다음 숫자를 받기 위해 1증가
		}

	}

}

 

- 코드에 주석을 달았으므로 확인해 보시길 바랍니다.

- 조건이 10보다 작거나 같을 때인데, num값이 11이 되면 while문을 벗어나 반복을 종료합니다. 

 

 

## while문 결과1 - Ex01_While.java

- 1~10까지 잘 출력되는 것을 확인할 수 있습니다.

- 반복을 엄청 잘하죠?

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. do while문


- do while문은 코드를 먼저 실행하고 조건이 맞으면 계속 실행하는 구문입니다. 

- 조건식이 맞는 동안 코드 블록 { } 내부의 코드를 반복하라는 구문입니다. 

 

 

 

1) do while 구문 문법

## 문법

do{
	반복할 코드;
}while(조건식);

 

 

- 조건식이 맞으면 반복할 코드를 계속 실행합니다. 

- 조건식이 맞지 않으면 while문을 벗어납니다. 

- 이때 조건식에 true를 쓰면 무한 루프에 빠질 수 있으므로 주의해서 사용해야 합니다. 

 

 

 


 

 

 

2) do while 구문 예제

- 그럼 간단하게 1부터 10까지 출력하는 예제로 반복을 해보겠습니다. 

 

 

## dowhile문 실습1 - Ex02_DoWhile.java

package ch12_repeat;

public class Ex02_DoWhile {

	public static void main(String[] args) {
		int num = 1; //출력할 숫자를 담는 변수 - 처음값이 1을 담기
		
		do {
			System.out.println(num); //num출력
			num++; //그 다음 숫자를 받기 위해 1증가
		}while(num <= 10);
	}

}

 

- 설명은 코드에 주석으로 달아놨으니 확인 바랍니다. 

 

 

## dowhile문 결과1 - Ex02_DoWhile.java

- 1~10까지 잘 출력되는 것을 확인할 수 있습니다.

- 반복을 엄청 잘하죠?

- 근데 while문과 do while문의 결과가 같은데 왜 따로 있는지 궁금하죠?

- 아래에서 그 이유를 보겠습니다.

 

 

 


 

 

 

 

3) while과 do while 비교

- while문은 조건식이 맞지 않으면 한 번도 실행하지 않습니다.

- do while문은 조건식이 맞지 않아도 한 번은! 실행합니다.

- 이건 중요한 차이입니다. 

- 코드를 보면서 바로 비교를 해보겠습니다. 

 

 

## while과 do while 비교 실습1 - Ex03_ComparativeWhile.java

package ch12_repeat;

public class Ex03_ComparativeWhile {

	public static void main(String[] args) {
		int num1 = 10; //while문이 사용할 변수
		int num2 = 10; //do while문이 사용할 변수
		
		while(num1 > 20) { //num1이 10보다 크다면 (틀림)
			System.out.println("while문이 실행");
		}
		
		do {
			System.out.println("do while문이 실행");
		}while(num2 > 20); //num2가 10보다 크다면 (틀림)

	}

}

 

- 두 반복문 모두 조건이 다르게 처리를 했습니다. 

 

 

 

## while과 do while 비교 실습2 - Ex03_ComparativeWhile.java

- 그럼 while문 실행되지 않는데, do while문은 실행되죠?

- do while문은 조건이 맞지 않아도, 한 번은 실행합니다.

- 추후에 꽤 쏠쏠하게 사용할 수 있습니다. 

 

 

 

 

 

 

 

728x90
반응형