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 |