Java/모두의 자바

Chapter 03-16 while 문

계란💕 2022. 2. 4. 10:03

03-16.1 반복문이란?

  Def) 반복문: 어떤 일을 반복 수행하고 싶을 때 사용한다.

  - while: 조건이 참일 경우 블록 안 문장을 반복 실행한다.

  - do while 

  - for

 

03-16.2 while 문 

  Ex) 무한 루프 예제 1)

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 1;
		
		while ( i < 10 ) {
		
		}
	}
}

 

  Note) 출력 결과

  - 콘솔 창에 아무것도 나타나지 않으므로 아무 일 안 하는 것 같지만 프로그램은 동작 중이다.

  - 사진의 오른쪽 맨 위의 사각형 버튼(Terminate)에 빨갛게 불이 들어와 있는 것을 보고 알 수 있다.

  - 버튼을 누르면 프로그램의 동작도 멈추고 사각형의 불도 꺼진다. 

  - 이 상태를 "무한 루프(endless loop)를 돈다"고 표현한다. (프로그램이 같은 과정을 끊임없이 반복한다.)

  - 그런데 무한 루프에 빠지면 프로그램이 끝나지 않으므로 컴퓨터 자원이 낭비된다.

  - 따라서, 버튼을 누르거나 강제로 종료해야 한다. 

 

03-16.2 while 문 

  Ex) 무한 루프 예제 2)

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 0;
		
		while ( i < 10 ) {
			System.out.println(i);
		}
	}
}

  Note) 출력 결과

  - 0이 끊임 없이 반복된다. 

  - Terminate버튼을 눌러 종료 시켜야 한다.

  - i = 0이고 10보다 작은 것도 참이므로 프로그램을 빠져나오지 못하고 계속해서 0이 출력되는 것이다.

 

03-16.3 while 문 

  Ex) while 문 예제 1)

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 0;
		
		while ( i < 10 ) {
			System.out.println(i);
			i++;
		}
	}
}

  Note) 출력 결과: 0 ~ 9 까지 출력된다.

  - 증감연산자'++'을 이용했다.

  - 앞서 확인한 무한 루프와 다르게 항상 참인 상태에서 벗어났다.

  -  i = 10이 되면 조건을 만족하지 않기 때문에 반복문을 멈춘다. 

  - 조건문을 잘 부여해서 수행해야 무한루프에 빠지는 것을 막을 수 있다.

 

03-16.4 while 문

  Ex) while 문 예제 2) 

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int total = 0;
		int i = 1;
		
		while( i <= 100 ) {
			total = total + i;
			i++;	
		}
		System.out.println(total);
	}
}

  Note) 출력 결과: 5050

  - 1 ~ 100까지 더한 값인 5050이 출력 된다.

 

03-16.5 while 문 실습

  Ex) 문제 1) while 문의 조건에서 i를 이용해서 1부터 10까지 출력하라.

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 1;
		
		while( i <= 10) {
			System.out.println(i);
			i++;	
		}
		
	}
}

  Note) ++i는 i를 1씩 증가시켜 i = 11이 될 때 조건을 만족하지 않아서 while 반복문을 종요시킨다.

 

03-16.6 while 문 실습

  Ex) 문제 2) 주어진 코드에 if문을 추가하여 i가 짝수일 때만 출력되도록 하라

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 1;
		
		while( i < 11 ) {
			==========================
				System.out.println(i);
			===========================
			i++;	
		}
		
	}
}

  Note) 정답

<hide/>

public class WhileExam {
	public static void main(String[] args) {
		int i = 1;
		
		while( i < 11 ) {
			if(i % 2 == 0) {
				System.out.println(i);
			}
			i++;	
		}
		
	}
}

 

'Java > 모두의 자바' 카테고리의 다른 글

Chapter 03-18 for 문  (0) 2022.02.04
Chapter 03-17 do-while 문  (0) 2022.02.04
Chapter 03-15 Switch 문  (0) 2022.02.03
Chapter 03-14 삼항 연산자  (0) 2022.02.03
Chapter 03-13 논리 연산자  (0) 2022.02.03