조건문(conditionals)
작성자 정보
- 작성자 최고관리자
- 작성일
컨텐츠 정보
- 조회 324
본문
조건문 개요
주변을 둘러보면 조건에 따라 다르게 적용(동작)되는 것들이 매우 많습니다. 예를 들면 지하철 요금이나, 표준 몸무게 공식 등이 있습니다. 지하철의 요금은 나이, 표준 몸무게 공식은 성별에 따라 다르게 적용 됩니다.
지하철 요금표
구 분 나 이
지하철 요금
일 반 만 19세 이상 1250 원
청소년 만 13 ~ 18세 720 원
어린이 만 06 ~ 12세 450 원
표준 몸무게 공식표
성 별 표준 몸무게 공식
남 성 (키 - 100) x 0.9
여 성 (키 - 100) x 0.85
프로그래밍에서 또한, 조건에 따라 다르게 적용(동작)해야하는 경우가 매우 빈번히 발생합니다.
이를 위해서 필요한 문법이 바로 조건문(conditionals)입니다.
조건문: if
if문의 구조는 아래와 같습니다.
조건문을 사용한 실제 코드를 만들어 봅시다.
아래 코드는 나이가 19세 이상인 경우(18세를 초과하는 경우) 성인여부를 출력하는 코드입니다.
## 비교 연산자(comparison operators)
비교연산자는 좌변과 우변의 값을 비교하여 참 또는 거짓(`true` OR `false`)을 반환합니다. 비교연산자의 종류와 내용은 아래와 같습니다.
비교 수식 의 미
x > y x 가 y 보다 큰가?
x < y x 가 y 보다 작은가?
x >= y x 가 y 보다 크거나 같은가?
x <= y x 가 y 보다 작거나 같은가?
x == y x 가 y 와 같은가?
x != y x 가 y 와 같지 않은가?
논리 연산자(boolean-operators)
논리 연산자는 AND(&&)연산자와 OR(||)연산자가 있습니다. AND연산자는 좌변과 우변 모두 참(true)인 경우 참을, 나머지의 경우는 거짓(false)을 반환합니다. OR연산자는 좌변과 우변 둘중 하나라도 참이라면 참을, 둘다 거짓이라면 거짓을 반환합니다.
AND 연산자
AND 연산 식결과 값
true && true true
true && false false
false && true false
false && false false
OR 연산자
OR 연산 식 결과 값
true || true true
true || false true
false || true true
false || false false
조건문: if-else
위에서 배운 if문은 조건이 거짓일 경우에 아무 동작도 수행하지 않습니다.
거짓일 경우 특정 동작을 수행시키고 싶다면 else문 추가하여 소스코드를 작성하여줍니다.
else는 반드시 if키워드와 같이 사용되어야 하기때문에 if-else문으로 불려집니다.
if-else문의 구조는 다음과 같습니다.
if-else를 사용한 실제 코드를 만들어 봅시다.
조건문: else-if
위에서 if문의 조건이 거짓인경우 else 구문의 블럭이 수행됨을 배웠습니다.
거짓인 것들 중 또 다시 조건을 줄 수 있는 방법은 없을까요? 있습니다!
else-if 구문을 사용해봅시다!
먼저 else-if문의 구조부터 살펴보겠습니다.
else-if를 사용한 실제 코드를 만들어 봅시다.
1. 주사위 게임
부족한 용돈을 채우기위해 도박에 손을 대고만 야바위 학생. 주사위를 던져 나온 눈의 수만큼 달라를 획득하는 불법 도박사이트에 접속하는데..
참가비용 18달라에 주사위를 5번 던질 수 있을 때, 돈을 얼만큼 이득(또는 손해) 보았는지 계산해주세요.
요구사항
•Math.random() 메소드를 사용하여 1 과 6 사이의 숫자를 반환하는 dice() 메소드를 구현할 것.
기본코드
2. 비만도 측정
대학생이 되어 열심히 다이어트중인 나몸짱(20) 학생. 열심히 운동도 하고 식단 조절도 하고있는데.. 과연 잘 하고 있는 걸까?
BMI 지수를 활용하여 비만도를 측정 해주세요.
요구사항
•비만도는 아래의 네 가지 단계로 구분 할 것.
•저체중(18.5미만), 정상(18.5이상 ~ 25미만), 과체중(25이상~30미만), 비만(30이상)
BMI 지수란?
체질량 지수(體質量指數, Body Mass Index, BMI)는 인간의 비만도를 나타내는 지수로, 체중과 키의 관계로 계산된다.
키가 t 미터, 체중이 w 킬로그램일 때, BMI는 다음과 같다. - 위키피디아 -
•BMI = w / t^2
기본코드
3. 임금 계산하기
당신은 Java 기업의 사장이 되었습니다. 어느덧 월급날이 다가오는데..
회사의 직원들에게 지급할 임금을 계산하는 프로그램을 작성해주세요.
요구사항
•직원의 임금은 주급으로 정산하며, (근무시간) X (기본시급)을 기준으로 한다.
•주당 근무시간이 40시간을 초과시, 초과급여는 (초과시간) X (기본시급) X (1.5)으로 한다.
•기본시급은 최저 $8.00이며, 이보다 작을 경우 에러를 출력한다.
•주당 근무시간이 60시간을 초과하는 경우 에러를 출력한다.
기본코드
주변을 둘러보면 조건에 따라 다르게 적용(동작)되는 것들이 매우 많습니다. 예를 들면 지하철 요금이나, 표준 몸무게 공식 등이 있습니다. 지하철의 요금은 나이, 표준 몸무게 공식은 성별에 따라 다르게 적용 됩니다.
지하철 요금표
구 분 나 이
지하철 요금
일 반 만 19세 이상 1250 원
청소년 만 13 ~ 18세 720 원
어린이 만 06 ~ 12세 450 원
표준 몸무게 공식표
성 별 표준 몸무게 공식
남 성 (키 - 100) x 0.9
여 성 (키 - 100) x 0.85
프로그래밍에서 또한, 조건에 따라 다르게 적용(동작)해야하는 경우가 매우 빈번히 발생합니다.
이를 위해서 필요한 문법이 바로 조건문(conditionals)입니다.
조건문: if
if문의 구조는 아래와 같습니다.
if (CONDITION) { // CONDITION: 조건식을 의미함.
STATEMENTS // STATEMENTS: 조건식이 참인경우 수행할 내용들.
}
조건문을 사용한 실제 코드를 만들어 봅시다.
아래 코드는 나이가 19세 이상인 경우(18세를 초과하는 경우) 성인여부를 출력하는 코드입니다.
public class Metro {
public static void printRole(int age) {
if (age > 18) { // age가 18보다 크다면
System.out.println("성인 입니다."); // "성인 입니다"를 출력
}
}
public static void main(String[] args) {
printRole(20); // 출력: "성인 입니다"
printRole(15); // 아무것도 출력되지 않음
printRole(10); // 아무것도 출력되지 않음
}
}
## 비교 연산자(comparison operators)
비교연산자는 좌변과 우변의 값을 비교하여 참 또는 거짓(`true` OR `false`)을 반환합니다. 비교연산자의 종류와 내용은 아래와 같습니다.
비교 수식 의 미
x > y x 가 y 보다 큰가?
x < y x 가 y 보다 작은가?
x >= y x 가 y 보다 크거나 같은가?
x <= y x 가 y 보다 작거나 같은가?
x == y x 가 y 와 같은가?
x != y x 가 y 와 같지 않은가?
논리 연산자(boolean-operators)
논리 연산자는 AND(&&)연산자와 OR(||)연산자가 있습니다. AND연산자는 좌변과 우변 모두 참(true)인 경우 참을, 나머지의 경우는 거짓(false)을 반환합니다. OR연산자는 좌변과 우변 둘중 하나라도 참이라면 참을, 둘다 거짓이라면 거짓을 반환합니다.
AND 연산자
AND 연산 식결과 값
true && true true
true && false false
false && true false
false && false false
OR 연산자
OR 연산 식 결과 값
true || true true
true || false true
false || true true
false || false false
조건문: if-else
위에서 배운 if문은 조건이 거짓일 경우에 아무 동작도 수행하지 않습니다.
거짓일 경우 특정 동작을 수행시키고 싶다면 else문 추가하여 소스코드를 작성하여줍니다.
else는 반드시 if키워드와 같이 사용되어야 하기때문에 if-else문으로 불려집니다.
if-else문의 구조는 다음과 같습니다.
1.if (CONDITION) { // CONDITION이 참인 경우, STATEMENTS-A를 수행
2. STATEMENTS-A
3.} else { // CONDITION이 거짓인 경우, STATEMENTS-B를 수행
4. STATEMENTS-B
5.}
if-else를 사용한 실제 코드를 만들어 봅시다.
1.public class Metro {
2. public static void printRole(int age) {
3. if (age > 18) { // age가 18보다 큰 경우
4. System.out.println("성인 입니다.");
5. } else { // age가 18보다 작은 경우
6. System.out.println("미성년자 입니다.");
7. }
8. }
9.
10. public static void main(String[] args) {
11. printRole(20); // 출력: "성인 입니다."
12. printRole(15); // 출력: "미성년자 입니다."
13. printRole(10); // 출력: "미성년자 입니다."
14. }
15.}
조건문: else-if
위에서 if문의 조건이 거짓인경우 else 구문의 블럭이 수행됨을 배웠습니다.
거짓인 것들 중 또 다시 조건을 줄 수 있는 방법은 없을까요? 있습니다!
else-if 구문을 사용해봅시다!
먼저 else-if문의 구조부터 살펴보겠습니다.
1.if (CONDITION-A) { // CONDITION-A가 참인 경우, STATEMENTS-A를 수행
2. STATEMENTS-A
3.} else if (CONDITION-B) { // CONDITION-A가 거짓이고, CONDITION-B가 참일 때,
4. STATEMENTS-B // STATEMENTS-B를 수행
5.} else if (CONDITION-C) { // CONDITION-A가 거짓이고, CONDITION-B가 참일 때,
6. STATEMENTS-C // STATEMENTS-C를 수행
7.} else { // CONDITION-A, CONDITION-B, CONDITION-C 모두 거짓인경우,
8. STATEMENTS-D // STATEMENTS-D를 수행
9.}
else-if를 사용한 실제 코드를 만들어 봅시다.
1.public class Metro {
2. public static void printRole(int age) {
3. if (age > 18) { // age가 18보다 큰 경우,
4. System.out.println("성인 입니다.");
5. } else if ((18 >= age) && (age >= 13)) { // 13~18세 인 경우,
6. System.out.println("청소년 입니다.");
7. } else if ((13 > age) && (age >= 6)) { // 6~12세 인경우,
8. System.out.println("어린이 입니다.");
9. } else { // 위 모든 조건이 거짓인 경우
10. System.out.println("유아 입니다.");
11. }
12. }
13.
14. public static void main(String[] args) {
15. printRole(20); // 출력: "성인 입니다."
16. printRole(15); // 출력: "미성년자 입니다."
17. printRole(10); // 출력: "어린이 입니다."
18. printRole(5); // 출력: "유아 입니다."
19. }
20.}
1. 주사위 게임
부족한 용돈을 채우기위해 도박에 손을 대고만 야바위 학생. 주사위를 던져 나온 눈의 수만큼 달라를 획득하는 불법 도박사이트에 접속하는데..
참가비용 18달라에 주사위를 5번 던질 수 있을 때, 돈을 얼만큼 이득(또는 손해) 보았는지 계산해주세요.
요구사항
•Math.random() 메소드를 사용하여 1 과 6 사이의 숫자를 반환하는 dice() 메소드를 구현할 것.
기본코드
1.class DiceGame {
2. public static int dice() {
3. // 해당 메소드를 구현하세요.
4. return 0;
5. }
6.
7. public static void main(String[] args) {
8. // 주사위 던지기 5번 시도
9. double earnings = dice() + dice() + dice() + dice() + dice(); // 획득자금($)
10. System.out.println("획득: $ " + earnings);
11.
12. // 이익 = 획득자금 - 참가비용
13. double profit = earnings - 18.0;
14. System.out.println("손익: $ " + profit);
15. }
16.}
2. 비만도 측정
대학생이 되어 열심히 다이어트중인 나몸짱(20) 학생. 열심히 운동도 하고 식단 조절도 하고있는데.. 과연 잘 하고 있는 걸까?
BMI 지수를 활용하여 비만도를 측정 해주세요.
요구사항
•비만도는 아래의 네 가지 단계로 구분 할 것.
•저체중(18.5미만), 정상(18.5이상 ~ 25미만), 과체중(25이상~30미만), 비만(30이상)
BMI 지수란?
체질량 지수(體質量指數, Body Mass Index, BMI)는 인간의 비만도를 나타내는 지수로, 체중과 키의 관계로 계산된다.
키가 t 미터, 체중이 w 킬로그램일 때, BMI는 다음과 같다. - 위키피디아 -
•BMI = w / t^2
기본코드
1.class BMICalculator {
2. public static double calculateBMI(double weight, double tall) {
3. // 해당 메소드를 구현하세요.
4. return 0;
5. }
6.
7. public static void printBMIClassification(double bmi) {
8. // 해당 메소드를 구현하세요.
9. }
10.
11. public static void main(String[] args) {
12. double weight = 74.5;
13. double tall = 176.4;
14.
15. double bmi = calculateBMI(weight, tall);
16. printBMIClassification(bmi);
17. }
18.}
3. 임금 계산하기
당신은 Java 기업의 사장이 되었습니다. 어느덧 월급날이 다가오는데..
회사의 직원들에게 지급할 임금을 계산하는 프로그램을 작성해주세요.
요구사항
•직원의 임금은 주급으로 정산하며, (근무시간) X (기본시급)을 기준으로 한다.
•주당 근무시간이 40시간을 초과시, 초과급여는 (초과시간) X (기본시급) X (1.5)으로 한다.
•기본시급은 최저 $8.00이며, 이보다 작을 경우 에러를 출력한다.
•주당 근무시간이 60시간을 초과하는 경우 에러를 출력한다.
기본코드
1.class JavaCorporation {
2.
3. public static void printPay(double basePay, int hours) {
4. // 메소드를 구현하세요..
5. }
6.
7. public static void main(String[] args) {
8. printPay(7.50, 35);
9. printPay(8.20, 47);
10. printPay(10.00, 73);
11. }
12.}
관련자료
-
이전
-
다음
댓글 0개
등록된 댓글이 없습니다.