[Java] 13. 조건문 if, if else, else if
[Java] 13. 조건문 if, if else, else if
1.조건문 if
(1) 조건문: 프로그래밍에서 특정 조건을 평가하고, 그 결과에 따라 다른 실행 흐름을 따르게 하는 구문이다.
조건문을 사용하면 주어진 조건이 참(True)일 때와 거짓(False)일 때, 각각 다른 수행을 하게 할 수 있다.
조건문의 종류로는 크게 if문과 switch문이 있다. (if문에는 if, if else, else if문이 있다.)
(2) 조건문의 기본적인 형태: if(조건문){수행문};
-조건이 참일 경우에만 수행된다.
(3) 조건문의 종류: if문에는 세 가지 형태가 있다.
(1) if (한 가지 조건만 판별, 미충족시 종료) : 만약에 ~라면 ~해.
(2) if else (한 가지 조건만 판별, 미충족시의 경우에도 실행O) : 만약에 ~라면 A하고, 아니면 B해.
(3) if else if else... (여러가지 조건을 판별) : 조건이 여러개이다. (만약 ~라면 A하고, ~라면 B하고, ~라면 C하고 ... 다 안 맞으면 else로 가!)
*if / if else if else..문은 else가 없으면 실행이 안 될 수도 있다.
-if 문 단독은 수행이 될 수도, 안 될 수도 있다.
-단, if-else 구문은 둘 중 하나는 반드시 수행이 된다.
-if 블록의 범위를 구분하자.
-조건문을 작성할 때, 조건의 범위를 조금씩 넓혀가야 한다.
-코딩 컨벤션: 변수명을 작성할 때의 약속이다.(권장사항)
-카멜 노테이션: 이어지는 단어의 첫글자을 대문자로 작성하는 것.
대문자의 크기가 커, 소문자 속에서 볼록 취어나온 것 처럼 보이는 것이 꼭 낙타의 혹을 닮아 이름붙여졌다.
-파스칼케이스: 첫 시작 단어, 연결하는 단어들을 대문자로 표기하는 것.
연습문제 1.
사용자로부터 성적을 입력받고,
해당 성적에 대한 평가(a,b,c,d...)와 안내 메세지를 조건문을 이용해 출력하시오.
package basic.ch04;
import java.util.Scanner;
public class IfElseExercise {
// 코드의 시작점
public static void main(String[] args) {
// 정수값 입력 받기
System.out.println("점수를 입력하시오.");
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
char grade = 'x';// 초기값을 x로 설정해, 잘못된 입력을 쉽게 확인
String message = ""; // 추가적인 피드백 메세지
if (score < 101 && score > 89) {
System.out.println("당신의 점수는 A입니다.");
message = "우수한 성적이네요! 계속 좋은 성적 유지하길 바랍니다.";
System.out.println(message);}
else if (score < 90 && score > 79) {
System.out.println("당신의 점수는 B입니다.");
message = "좋은 성적입니다. 조금만 더 노력하면 A도 가능해요!";
System.out.println(message);}
else if (score < 80 && score > 69) {
System.out.println("당신의 점수는 C입니다.");
message = "괜찮은 성적이지만, 더 높은 등급을 위해 노력해봅시다.";
System.out.println(message);}
else if (score > 70 && score > 59) {
System.out.println("당신의 점수는 D입니다.");
message = "학습에 더 집중할 필요가 있어요. 도움이 필요하면 말해주세요.";
System.out.println(message);}
else if (score < 70 && score <= 0) {
System.out.println("당신의 점수는 F입니다.");
message = "불합격입니다. 부족한 부분을 파악하고, 추가 학습이 필요해요.";
System.out.println(message);}
else {
System.out.println("입력하신 성적이 범위를 벗어났습니다. 프로그램을 다시 실행해주세요.");
}
// end of if
scanner.close();
}// end of main
}// end of class