while 문은 while 단독과 do ~while로 사용 가능한데 성격상 잘못하면 무한반복으로 오류날 일이 많아 잘 쓰지 않는다고 한다.
[작성법]
while(조건식) {
조건식이 true 일 때 반복 수행할 구문
}
연습
public void ex1() {
int input = 0;
while( input != 9) {
// input 에 저장된 값이 9가 아닌 경우 반복
System.out.println("****메뉴선택****");
System.out.println("1. 떡볶이");
System.out.println("2. 쫄면");
System.out.println("3. 김밥");
System.out.println("9. 종료");
System.out.print("메뉴 선택 >>");
input = sc.nextInt();
switch(input) {
case 1: System.out.println("떡볶이를 주문했습니다."); break;
case 2: System.out.println("쫄면을 주문했습니다."); break;
case 3: System.out.println("김밥을 주문했습니다."); break;
case 9: System.out.println("메뉴선택을 종료했습니다."); break;
default : System.out.println("잘못 입력하셨습니다.");
}
}
}
public void ex2() {
// 입력되는 모든 정수의 합 구하기
// 단, 0이 입력되면 반복 종료 후 결과 출력
// -> 0이 입력되지 않으면 계속 반복
int input = -1; // 입력 받은 값을 저장할 변수
int sum = 0; // 모든 정수의 합을 저장하는 변수
while(input != 0) {
System.out.print("정수 입력 : ");
input = sc.nextInt();
sum += input; // 입력받은 값을 sum 에 누적
}
System.out.println("합계 : " + sum);
}
public void ex3() {
int input = 0; // 입력 받은 값을 저장할 변수
int sum = 0; // 모든 정수의 합을 저장하는 변수
// while 문을 최소 한번은 수행하는 반복문
// -> do ~ while 문
do {
System.out.print("정수 입력 : ");
input = sc.nextInt();
sum += input;
} while(input != 0); // 입력받은 값을 sum 에 누적
System.out.println("합계 : " + sum);
}
이 글을 읽고 많이 배웠습니다.