제어문
프로그램이 실행될 때 특정 조건, 반복을 수행 또는 멈추게 하기 위해 필요한 문장
다시 조건에 따라 분기되는 조건문과 특정 조건을 반복적으로 수행하는 반복문으로 구분
조건문의 종류 : if, switch
continue = 이하 실행구문은 무시하고 다시 반복문으로 돌림
break = 가장 가까운 조건문을 탈피
ex)
if(조건식){
조건식이 참일때 실행할 문장
}
if(조건식){
조건식이 참일때 실행할 문장;
} else {
조건식이 거짓일때 실행할 문장;
}
if(조건식1) {
조건식 1이 참일때 실행할 문장;
} else if (조건식2) {
조건식 1이 거짓이고, 조건식 2가 참일때 실행할 문장;
} else {
위 두 조건식 모두 거짓일때 실행할 문장;
}
예제 1.
<랜덤한 두개의 값 출력>
- if문을 이용하여 크기를 비교 후 자리를 바꿈
- 두개의 값을 부등호의 형태로 출력
int random1 = (int) (Math.random() * 10 + 1);
int random2 = (int) (Math.random() * 10 + 1);
int temp = 0;
if(random1 < random2) { //random1이 random2보다 작을 때
temp = random1; //random1의 값을 temp에 대입
random1 = random2; //random2의 값을 random1에 대입
random2 = temp; //random1이 대입 된 temp의 값을 random2에 대입 (자리바꾸기)
System.out.println(random1 + ">" + random2);
}else if (random1 > random2) {
System.out.println(random1 + ">" + random2);
}else {
System.out.println(random1 + "=" + random2);
}
[5회 실행결과]
9>8
8>3
6>3
9>1
6=6
예제 2.
<가위 바위 보 게임>
- 컴퓨터와 사용자가 가위바위보 게임을 하고 승패 여부를 출력
Scanner sc = new Scanner(System.in);
System.out.println("1 : 가위\t 2 : 바위\t 3 : 보"); //①
System.out.println("원하는 번호를 눌러주세요.");
int user = sc.nextInt(); //사용자 숫자 지정
int com = (int) (Math.random() * 3 + 1); //컴퓨터 숫자 지정
System.out.println("컴퓨터 : " + com);
System.out.println("사용자 : " + user);
if(user == com) {
System.out.println("비겼습니다.");
}else if (com - user == 1 || com - user == -2) {
System.out.println("컴퓨터가 이겼습니다.");
}else {
System.out.println("당신이 이겼습니다.");
}
[실행결과]
1 : 가위 2 : 바위 3 : 보
원하는 번호를 눌러주세요.
1
컴퓨터 : 2
사용자 : 1
컴퓨터가 이겼습니다.