조건문은 제어문 중 하나로 프로그램이 실행 흐름을 개발자가 조절 하기 위해서 사용한다. 그 중 조건을 사용하여 흐름을 조절하는 조건문의 기본 형태들을 타이핑하며 다시 익숙해지려고 한다.
Eclipse에서 IntelliJ로 갈아타서 조금 어색한 부분이 있어서 손이 얼었다. Keymap을 어느정도 나에게 맞춰서 사용하는데도 뭔가 어색한 부분도 있고, 좀 더 가볍고 편한 IDE같다. 아마도 계속해서 연간 구독을 하지 않을까 싶다. 익숙해질때 까지 클래스를 생성하고 public static void main(String[] args){}부터 안에 코드까지 모두 직접 치는 연습을 다시 하고 있다. 조금 익숙해지면 template를 하나씩 만들 예정이다.
•
기본 : if, else
//제어문(프로그램의 실행 방향을 제어하는 기능)// - 조건문 (if, Switch)// - 반복문 (for)//1.1)조건문 - if문//boolean flag = true;//기본 if, elseboolean flag = false;
if (flag) {
//true인 경우
System.out.println("값이 True입니다");
} else {
System.out.println("값이 False입니다");
}
Java
복사
•
else if : if, else if, else
//if, else if, elseint number = 2;
if (number == 1) {
System.out.println("number값은 1입니다");
} else if (number == 2) {
System.out.println("number값은 2입니다");
} else {
System.out.println("number값은 모르는 값입니다.");
}
Java
복사
중첩 if : if{if, else if, ..., else) else if, ..., else
//중첩 ifif (flag) {
System.out.println("flag가 true입니다.");
if (number == 1) {
System.out.println("flag=true고, number=1");
} else if (number == 2) {
System.out.println("flag=true고, number=2");
}
} else {
if (number == 1) {
System.out.println("flag=false고, number=1");
} else if (number == 2) {
System.out.println("flag=false고, number=2");
}
System.out.println("flag가 false입니다");
}
Java
복사
여기까지 흐름을 이어 응용해서 가위, 바위, 보 미니 게임을 만들어 본다.
import java.util.Objects;
import java.util.Scanner;
public class _07RockPaperScissors {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//A에게 값 입력 받기
System.out.println("A입력 : ");
String aHand = sc.nextLine();
//B에게 값 입력 받기
System.out.println("B입력 : ");
String bHand = sc.nextLine();
//두개의 값을 비교하는 메서드 ->Object.equals(좌,우) : 좌우가 같은 경우 true, 다른 경우 false.if (Objects.equals(aHand, "가위")) {
if (Objects.equals(bHand, "가위")) {
System.out.println("A랑 B랑 비겼습니다");
} else if (Objects.equals(bHand, "바위")) {
System.out.println("B가 이겼습니다.");
} else if (Objects.equals(bHand, "보")) {
System.out.println("A가 이겼습니다.");
} else {
System.out.println("B가 이상한 값을 입력했습니다.");
}
} else if (Objects.equals(aHand, "바위")) {
if (Objects.equals(bHand, "가위")) {
System.out.println("A랑 가 이겼습니다");
} else if (Objects.equals(bHand, "바위")) {
System.out.println("비겼습니다.");
} else if (Objects.equals(bHand, "보")) {
System.out.println("B가 이겼습니다.");
} else {
System.out.println("B가 이상한 값을 입력했습니다.");
}
} else if (Objects.equals(aHand, "보")) {
if (Objects.equals(bHand, "가위")) {
System.out.println("B가 이겼습니다");
} else if (Objects.equals(bHand, "바위")) {
System.out.println("A가 이겼습니다.");
} else if (Objects.equals(bHand, "보")) {
System.out.println("비겼습니다.");
} else {
System.out.println("B가 이상한 값을 입력했습니다.");
}
} else {
System.out.println("A가 이상한 값을 입력했습니다.");
}
}
}
Java
복사