Java/모두의 자바

Chapter 03-17 do-while 문

계란💕 2022. 2. 4. 11:29

03-17.1 do-while 문이란?

  - 블록 한 문장을 무조건 한 번은 실행한다. 

  - 실행부터 하고 조건을 비교한다. 

  - 반면, while 문은 조건을 만족하지 않으면 반복문 안의 문장을 한 번도 실행하지 않을 수 있다.

    -> 일단 조건 부터 비교하고 실행한다. 

 

  Ex) do-while문 형식

<hide/>

do {
	반복힐 문장들
}while( 조건 )

  - do~while 부분을 한 번 수행하고 while문 조건을 만족하면 do까지 올라가서 문장을 수행한다. 

 

03-17.2 객체 생성과 사용 방법

   Ex) 

<hide/>

import java.util.Scanner;  //  Scanner는 java.util 패키지가 가진 class
public class DoWhileExam {
	public static void main(String[] args) {
		int value = 0;  // 변수 0으로 초기화
		Scanner scan  = new Scanner(System.in);		// System.in: 키보드를 의미, 생성자
		do {
			value = scan.nextInt();      // nextInt(): 정수를 입력 받아서 반환해준다.
			System.out.println("입력받은 값: "+value);
			
		}while( value !=  10 );
		System.out.println("반복문 종료!!");		
	}
}

   - import java.util.Scanner  

     -> Scanner는 java.util 이라는 패키지가 가진 class이다.

     -> java가 미리 만들어 놓은 class로 외부에서 값을 입력받고 싶을 때 Scanner사용.

     -> Scanner라는 객체가 여러 군데 있을 수 있기 때문에 "java.util"패키지에 있는 Scanner을 사용하겠다는 의미.

  - Scanner scan  = new Scanner(System.in)

     -> 키보드를 의미하는 System.in을 사용하여 키보드를 입력 받는 class Scanner를 만듦.

     -> 괄호 안은 생성자를 의미.

     -> 쉽게 말해서 키보드로 입력 받을 수 있는 Scanner라는 객체를 만든 것과 같다.

  - value = scan.nextInt();      // 

     -> nextInt(): 정수를 입력 받아서 반환해준다. (Scanner객체가 가진 메서드) 

     -> scan: 변수 (내사 사용할 Scanner를 담고 있다.)

     -> nextInt()에서 반환한 정수를 value에 저장하다.

 

  Note) 실행 결과: 아무 반응 없어 보이지만 Treminate 사각형에 빨간 불이 들어왔다. (즉, 실행 중이라는 뜻)

  - 키보드로 값을 입력할 수 있게 기다리고 있다. 

 

  Note) 콘솔에 1을 입력했을 때

  Note) 콘솔에 2를 입력했을 때

  - 입력받은 값이 10이 아니면 위 과정을 반복하여 수행한다.

  Note) 콘솔에 10을 입력하면 10 출력하고 while문의 조건을 만족하므로 반복문 종료된다.

 

03-17.3 do~while 문 실습

  Ex) 스캐너 객체의 nextInt() 메서드로 값을 반복적으로 입력 받아서 모두 더하여 sum 변수에 누적하라.

       입력받은 값이 100보다 크면 반복문을 종료하도록 조건 부여. 반복문 종료할 때 sum출력하라.

<hide/>

import java.util.Scanner;
public class DoWhileExam {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int value = 0;
		int sum = 0;
		do {
			value = scan.nextInt();
			sum = sum + value;
		}while (value < 100);
		System.out.println("sum: "+sum);
		
	}
}

  Note) 실행 결과 (Termianate 빨간 불 들어와있다. 즉, 입력 대기 중)

 

  Note) 50, 70입력하고나서 100을 입력하면 종료되고 합인 220이 출력된다.

 

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

Chapter 04-19 배열(Array) 만들기  (0) 2022.02.04
Chapter 03-18 for 문  (0) 2022.02.04
Chapter 03-16 while 문  (0) 2022.02.04
Chapter 03-15 Switch 문  (0) 2022.02.03
Chapter 03-14 삼항 연산자  (0) 2022.02.03