조건문 if(만약 … 이라면) - 18
💡 학습 목표
1. 조건문의 형태 3가지
2. 연습문제 풀어 보기
1. 조건문이란?
- 조건문은 프로그래밍에서 특정 조건을 평가하고, 그 결과에 따라 다른 실행 흐름을 따르도록 하는 구문이다.
- 즉, 조건문을 사용하면 주어진 조건이 참(true)일 때와 거짓(false)일 때 수행할 작업을 다르게 지정할 수 있다.
예시
"재산이 9천만원 이상이면 11만원을 세금으로 낸다. 그렇지 않으면 세금을 내지 않는다”
만약에 (재산이 9천 이상이면) {
세금을 11만원 낸다
} 그렇지 않으면 {
세금을 내지 않는다
}
1) if문
if(조건식){
수행문; // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨
}
// 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음
code. IfTest
package basic.ch04;
// 변수명을 작성할 때 -- 약속(권장사항) --> 코딩 컨벤션
// int myScore; <-- 카멜 표기법
// 첫 시작의 단어를 대문자로 작성하고 연결의 단어도 대문자로 표기 한다면
// ---> 파스칼 케이스
public class IfTest {
// 코드의 시작점
public static void main(String[] args) {
// 조건문(제어문) if
// 주어진 조건에 따라서 실행이 이루어 지도록 흐름을 만든다.
// if ..... -> 만약 ... 이라면
// flag 값을 바꿔가며 확인해보기
boolean flag = true;
if (flag) {
// 수행 구문
System.out.println("너 출력됨 ^^ ");
flag = false;
} // end of if - 블록의 범위를 기억 하자.
// if 문 단독은 수행이 안될 수도 있다.
System.out.println("코드가 여기까지 내려 옵니다. : " + flag);
} // end of main
} // end of class
2) if - else 문 ( 반드시 수행 )
if(조건식) {
수행문1; // 조건식이 '참'인 경우에 수행됨
} else {
수행문2; // 조건식이 '참'이 아닌 경우에 수행됨
}
code. IfElseTest
package basic.ch04;
public class IfElseTest {
public static void main(String[] args) {
int age = 20;
if (age >= 20) {
System.out.println("고등학교를 졸업 했습니다.");
} else {
System.out.println("학교를 다니고 있습니다.");
}
// if-else --> 둘 중 하나는 반드시 수행이 된다.
} // end of main
} // end of class
3) 조건이 여러 개 일 때의 if else if else 구문
if(조건식1) {
수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else if(조건식2) {
수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else if(조건식3) {
수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else {
수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
}
수행문5; // if-else if-else 문이 끝나면 수행됨
// 가령 조건식2가 만족되면 수행문2 -> 수행문5 순으로 수행됨
code. IfElseIfElse
package basic.ch04;
public class IfElseIfElse {
public static void main(String[] args) {
int age = 17;
// if else if else 사용시 조건식의 범위를 점차 넓게 설정해야 한다.
if (age <= 7) {
System.out.println("학교에 아직 다니지 않습니다.");
} else if (age <= 13) {
System.out.println("초등학교에 다니고 있습니다.");
} else if (age <= 16) {
System.out.println("중학교에 다니고 있습니다.");
} else {
System.out.println("고등학교 이상 다니거나 졸업을 했습니다.");
} // end of if
} // end of main
} // end of class
2. 연습문제 풀어 보기
1) 성적을 입력 받아 학점을 출력하기
code. IfExericse
package basic.exercise;
import java.util.Scanner;
public class IfExericse1 {
// 코드의 시작점
public static void main(String[] args) {
// 정수값 입력 받기를 활용해서 코드의 흐름을 만들어 주세요
// 조건문을 완성 하세요
// 90점 이상 -> A 학점 입니다.
// 80점 이상 -> B 학점 입니다.
// 70점 이상 -> C 학점 입니다.
// 60점 이상 -> D 학점 입니다.
// 59점 이하 -> F 학점 입니다.
Scanner sc = new Scanner(System.in);
System.out.println("성적을 입력하세요 : ");
int score = sc.nextInt(); // 정수 입력받기
System.out.println("로깅 - 받은 값 확인 : " + score);
if (score >= 90) {
System.out.println("A 학점 입니다.");
} else if (score >= 80) {
System.out.println("B 학점 입니다.");
} else if (score >= 70) {
System.out.println("C 학점 입니다.");
} else if (score >= 60) {
System.out.println("D 학점 입니다.");
} else {
System.out.println("F 학점 입니다.");
}
sc.close();
} // end of main
} // end of class
2) 성적 계산기 프로그램 작성
당신은 학교의 IT 부서에서 근무하고 있으며, 성적을 입력받아 학점을 알려주는 자바 프로그램을 개발하는 임무를 맡았습니다. 프로그램은 사용자로부터 0부터 100까지의 성적을 입력받아야 하며, 다음과 같은 기준으로 학점을 계산하여 결과를 출력해야 합니다.
- 90점 이상 100점 이하: 'A' 학점
- 80점 이상 90점 미만: 'B' 학점
- 70점 이상 80점 미만: 'C' 학점
- 60점 이상 70점 미만: 'D' 학점
- 60점 미만: 'F' 학점 (불합격)
- 입력받은 점수가 0 미만이거나 100을 초과하는 경우, "잘못된 입력입니다. 성적은 0에서 100 사이로 입력해주세요."라고 안내하고 프로그램을 종료합니다.
- 각 학점별로 다음과 같은 추가적인 메시지를 사용자에게 제공해야 합니다.
- 'A' 학점: "우수한 성적이네요! 계속 좋은 성적 유지하길 바랍니다."
- 'B' 학점: "좋은 성적입니다. 조금만 더 노력하면 A도 가능해요!"
- 'C' 학점: "괜찮은 성적이지만, 더 높은 등급을 위해 노력해봅시다."
- 'D' 학점: "학습에 더 집중할 필요가 있어요. 도움이 필요하면 말해주세요."
- 'F' 학점: "불합격입니다. 부족한 부분을 파악하고, 추가 학습이 필요해요."
요구사항:
- 사용자로부터 성적을 입력받기 위해 Scanner 클래스를 사용하세요.
- 입력 받은 성적을 기반으로 학점을 계산하고, 해당하는 메시지를 출력하세요.
- 모든 입력과 계산, 출력은 main 메소드 내에서 이루어져야 합니다.
- 입력 받은 성적이 범위를 벗어날 경우, 적절한 안내 메시지를 출력하고 프로그램을 종료하세요.
code. GradeCalculator
package basic.exercise;
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
System.out.println("성적을 입력하세요 (0-100): ");
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
char grade = 'X'; // 초기값을 'X'로 설정해 잘못된 입력을 쉽게 확인
String message = ""; // 추가적인 피드백 메시지
// .. 코드를 작성해주세요
// 힌트 - 비교 연산자와 논리연사자를 활용
// ...
// 이중 IF 문 이다.
if ((score > 100) || (score < 0)) {
System.out.println("잘못된 입력입니다. 성적은 0에서 100 사이로 입력해주세요.");
} else {
if (score >= 90) {
grade = 'A';
message = "우수한 성적이네요! 계속 좋은 성적 유지하길 바랍니다.";
} else if (score >= 80) {
grade = 'B';
message = "좋은 성적입니다. 조금만 더 노력하면 A도 가능해요!";
} else if (score >= 70) {
grade = 'C';
message = "괜찮은 성적이지만, 더 높은 등급을 위해 노력해봅시다.";
} else if (score >= 60) {
grade = 'D';
message = "학습에 더 집중할 필요가 있어요. 도움이 필요하면 말해주세요.";
} else {
grade = 'F';
message = "불합격입니다. 부족한 부분을 파악하고, 추가 학습이 필요해요.";
}
System.out.println("당신의 학점은 " + grade + " 입니다. " + message);
}
// if (score >= 90 && score <= 100) {
// grade = 'A';
// message = "우수한 성적이네요! 계속 좋은 성적 유지하길 바랍니다.";
// } else if (score >= 80 && score <= 90) {
// grade = 'B';
// message = "좋은 성적입니다. 조금만 더 노력하면 A도 가능해요!";
// } else if (score >= 70 && score <= 80) {
// grade = 'C';
// message = "괜찮은 성적이지만, 더 높은 등급을 위해 노력해봅시다.";
// } else if (score >= 60 && score <= 70) {
// grade = 'D';
// message = "학습에 더 집중할 필요가 있어요. 도움이 필요하면 말해주세요.";
// } else if (socre >= 0 && score < 60 ){
// grade = 'F';
// message = "불합격입니다. 부족한 부분을 파악하고, 추가 학습이 필요해요.";
// } else {
// message = "잘못된 입력입니다. 성적은 0에서 100 사이로 입력해주세요.";
// }
// System.out.println(massage);
scanner.close(); // 자원 닫기
}
}
'Java > Java 기초 문법' 카테고리의 다른 글
반복문( while ) - 20 (0) | 2024.04.12 |
---|---|
반복문( for ) - 19 (0) | 2024.04.11 |
연산자 (연습 문제) - 17 (0) | 2024.04.11 |
연산자(관계,논리,빠른평가,삼항) - 16 (0) | 2024.04.09 |
연산자(복합 대입 연산자) - 15 (0) | 2024.04.09 |