중첩 if문을 공부하면서 내용은 어려운게 아닌데 코드 길이가 조금씩 길어지면서 한눈에 보기가 힘들어 지는 느낌이였다. 까먹기 전에 정리할 내용을 한번 더 적어보려 한다
if (Objects.equals(aHand, "가위"))
해당 equals 매서드를 통해 왼쪽 "aHand"와 오른쪽"가위" 값을 비교하여 같으면 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("A와 B가 비겼습니다.");
} 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("A와 B가 비겼습니다");
} else {
System.out.println("B가 이상한 값을 냈습니다.");
}
} **else** {
System.out.println("A가 이상한 값을 냈습니다.");
}
}
}
조건문 if 와 equals 매서드를 사용, 그리고 if를 또 중첩 사용하여 A가 "가위"일 경우 그리고 B가 각각 가위 or 바위 or 보 일 경우에 대한 값을 출력하는 코드를 작성한다.
else if 를 통해 A가 "바위"일 경우 그리고 B가 각각 가위 or 바위 or 보 일 경우에 대한 코드 작성
else if 를 통해 A가 "보"일 경우 그리고 B가 가위 or 바위 or 보일 경우에 대한 코드 작성
마지막으로 else로 A가 가위 or 바위 or 보 외의 다른 값을 입력할 때 나올 값을 코드로 작성한다.
크게 보면 if 와 2개의 else if 그리고 else를 통해 이뤄져있다. 하지만 if와 2개의 else if 안에 하위 if들이 존재하며 그 하위 if 들의 else if들과 else가 존재한다.
스스로 좀 더 편하게 생각하면 대괄호 안에 중괄호 그리고 소괄호가 존재하는 느낌으로 생각하면 될 것 같다.