주말이라 공부를 오래 할 수 있었다.
while문은 한번에 끝내버렸다!!
마지막 예제으로 전체 복습하도록 하자.
public static void main(String[] args) {
int menu = 0, num = 0;
Scanner scanner = new Scanner(System.in);
outer:
while(true) {
System.out.println("(1) square");
System.out.println("(2) square root");
System.out.println("(3) log");
System.out.print("원하는 메뉴(1~3)를 선택하세요.(종료:0)>");
String tmp = scanner.nextLine(); // 화면에서 입력받은 내용을 tmp에 저장
menu = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환
if(menu==0) {
System.out.println("프로그램을 종료합니다.");
break;
} else if(!(1<=menu && menu<=3)) {
System.out.println("메뉴를 잘못선택하셨습니다.(종료는 0)");
continue;
}
for(;;) {
System.out.print("계산할 값을 입력하세요. (계산종료:0, 전체종료:99)>");
tmp = scanner.nextLine(); // 화면에서 입력받은 내용을 tmp에 저장
num = Integer.parseInt(tmp); // 입력받은 문자열(tmp)을 숫자로 변환
if(num==0)
break;
else if(num==99)
break outer;
switch(menu) {
case 1:
System.out.println("result="+num*num);
break;
case 2:
System.out.println("result="+ Math.sqrt(num));
break;
case 3:
System.out.println("result="+ Math.log(num));
break;
}
} // for의 끝
} // while의 끝
} // main의 끝
break;
, continue;
가 수행될 반복문을 지정할 수 있게 된다.do {
// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
} while (조건식); // 끝에 ';'를 잊지 말자
기본적인 while문과 비슷하나 순서가 바뀌었다.
조건식을 평가하기전에 먼저 한번 수행문을 실행한다는 점을 기억하자.
전날에 미리 책을 훑어보고 다음날 직접 코드를 입력하면서 공부하는 것이 진도가 더 빠르게 나갈 수 있어보인다.
복습하는 효과도 있어서 당분간은 이런식으로 할 수 있지 않을까 한다.