if (1 != 1){
// 여기가 아니면
} else if (1 > 3) {
// 여기, 여기가 아니면
}else {
// 여기
}
if ~ else문은 이렇게 이해하면 쉽다.
if(1 != 1) {
// true인 경우
System.out.println("값이 true 입니다.");
} else {
System.out.println("값이 false 입니다.");
}
이렇게 보아도 이해하기 쉬울 것 같다.
주 골격은 if() {}
이렇게 되어있고 사용하고자한다면 반드시 기억하는 것이 좋다.
import java.util.Objects;
import java.util.Scanner;
// 가위바위보
public class W13 {
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();
// 두 개의 값을 비교하는 메서드 => Objects.equals(좌, 우) : 좌 우가 같은 경우 true, 다른 경우 false
if (Objects.equals(aHand, "가위")) {
if (Objects.equals(aHand, "가위")) {
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(aHand, "가위")) {
System.out.println("A가 이습니다.");
} else if (Objects.equals(bHand, "바위")) {
System.out.println("A와 B가 비겼습니다.");
}else if (Objects.equals(bHand, "보")) {
System.out.println("A가 졌습니다.");
}else {
System.out.println("B가 이상한 값을 입력했습니다.");
}
}else if (Objects.equals(aHand, "보")){
if (Objects.equals(aHand, "가위")) {
System.out.println("A가 졌습니다.");
} else if (Objects.equals(bHand, "바위")) {
System.out.println("A와 이겼습니다.");
}else if (Objects.equals(bHand, "보")) {
System.out.println("A와 B가 비겼습니다.");
}else {
System.out.println("B가 이상한 값을 입력했습니다.");
}
}else {
System.out.println("A가 이상한 값을 입력했습니다.");
}
}
}
if~else문보다 가독성이 좋은 편에 속하지만, 팀마다 사람마다 쓰는 방식이 다르기 때문에 그 때 정하기 나름이다. if와 switch문 둘 중 하나만 쓸 줄 아는 것은 좋지 않지만, 대부분 if문만 아는 사람이 많다고 한다.
package week02;
public class W14 {
public static void main(String[] args) {
int month = 8;
String monthString = "";
// Switch문
switch (month) {
// case ~~~~ 연산
case 1:
monthString = "1월";
break;
case 2:
monthString = "2월";
break;
case 3:
monthString = "3월";
break;
case 4:
monthString = "4월";
break;
case 5:
monthString = "5월";
break;
case 6:
monthString = "6월";
break;
case 7:
monthString = "7월";
break;
case 8:
monthString = "8월";
break;
case 9:
monthString = "9월";
break;
case 10:
monthString = "10월";
break;
case 11:
monthString = "11월";
break;
case 12:
monthString = "12월";
break;
default:
monthString = "알 수 없음";
}
System.out.println(monthString);
}
}
주의할 점
- 무한 Loop에 조심
int number = 0;
// ~ 하는 동안
while (number < 3) { // number < 3 인 동안 ~~
number++; // 1, 2, 3
System.out.println(number + "출력!");
}
do {
// 이 로직을 먼저 수행하겠다!
}while ();