처리해야 하는 경우의 수가 많을 때 유용한 조건문
switch(조건식) {
case 값1 :
break;
case 값2 :
break;
default : // 조건식의 결과와 일치하는 case문이 없을 때 실행
}
switch 문의 조건식 결과는 정수 또는 문자열이어야 한다.
case 문의 값은 정수, 상수(문자 포함), 문자열만 가능하며 중복되면 안된다.(변수는 안됨)
Math.random() : 0.0과 1.0 사이의 임의의 double 값을 반환
ex) 주사위
(int)(Math.random() * 6) + 1
*6 은 개별 값의 개수
import java.util.Scanner;
public class Ex4_do_while {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int input = 0, answer = 0;
answer = (int) (Math.random() * 100) + 1;
// 블럭을 최소한 한번 이상 반복 - 사용자의 입력을 받을때 쓰인다.
do {
System.out.print("1~100 사이의 정수를 입력하세요 : ");
input = scanner.nextInt();
if (input > answer) {
System.out.println("더 작은 수를 입력하세요.");
} else if (input < answer) {
System.out.println("더 큰 수를 입력하세요.");
}
} while (input != answer);
System.out.println("정답입니다!");
}
}
블럭을 최소한 반번 이상 반복한다.
보통 처음 사용자의 입력을 받을 때 쓰임
import java.util.Scanner;
public class Ex4_all {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = 0, menu = 0;
outer:
while (true) {
System.out.println("1.제곱");
System.out.println("2.루트");
System.out.println("3.로그");
System.out.print("원하는 메뉴를 고르세요(종료:0번) : ");
String tmp = scanner.nextLine();
menu = Integer.parseInt(tmp);
if (menu == 0)
break;
else if (!(1 <= menu && menu <= 3)) {
System.out.println("메뉴를 잘못 고르셨습니다.");
continue;
}
System.out.println("선택하신 메뉴는 " + menu + "번 입니다.");
while (true) {
System.out.print("계산할 값을 입력하세요(계산 종료:0, 전체 종료:99) : ");
tmp = scanner.nextLine();
num = Integer.parseInt(tmp);
if (num == 0)
break; // 하나의 반복문밖에 빠져나가지 못한다.
if (num == 99)
break outer; // outer 라고 이름 붙인 반복문을 빠져나간다.
switch (menu) {
case 1:
System.out.println(num + "의 제곱 : " + num * num);
break;
case 2:
System.out.println(num + "의 루트 : " + Math.sqrt(num));
break;
case 3:
System.out.println(num + "의 로그 : " + Math.log(num));
break;
}
}
}
System.out.println("프로그램이 종료되었습니다.");
}
}
if (num == 0)
break; // 하나의 반복문밖에 빠져나가지 못한다.
if (num == 99)
break outer; // outer 라고 이름 붙인 반복문을 빠져나간다.
else if (!(1 <= menu && menu <= 3)) {
System.out.println("메뉴를 잘못 고르셨습니다.");
continue;
}
continue 문