이번 편의 목표: 정수 나눗셈과 나머지를 구분하고, 비교와 논리 연산으로 조건을 만듭니다.

연체료는 연체 일수에 하루 요금을 곱하면 됩니다. 다만 자바의 나눗셈은 양쪽이 정수이면 소수점을 버립니다.

산술 연산

Java
public class LateFeeMath {
    public static void main(String[] args) {
        int days = 7;
        int dailyFee = 100;
        int fee = days * dailyFee;
        System.out.println(fee);
        System.out.println(7 / 2);
        System.out.println(7 % 2);
        System.out.println(7.0 / 2);
    }
}

출력은 700, 3, 1, 3.5입니다. 7 / 2는 정수 나눗셈이라 3입니다. 7 % 2는 나머지 1입니다. 소수 결과가 필요하면 피연산자 중 하나를 소수로 만듭니다.

하루 100원으로 3일을 연체하면 300원입니다. 전자책은 뒤에서 하루 50원으로 바꿀 예정입니다. 지금은 종이책 규칙만 사용합니다.

비교와 논리

Java
int lateDays = 3;
boolean late = lateDays > 0;
boolean longLate = lateDays >= 7 && lateDays <= 30;
System.out.println(late);
System.out.println(longLate);
System.out.println(lateDays == 3);
System.out.println(lateDays != 0);

true, false, true, true가 출력됩니다. ==는 기본형의 값이 같은지 봅니다. !=는 다름입니다. &&는 양쪽이 모두 참일 때 참이고, ||는 한쪽이라도 참이면 참입니다.

문자열을 ==로 비교하지 않습니다. 글자가 같은지는 equals를 사용합니다. 문자열 편의 주제이므로 여기서는 예시만 둡니다.

Java
String title = "개미";
System.out.println(title.equals("개미"));

결과는 true입니다.

직접 해 보기

가격 1800원, 수량 3의 합계를 출력하세요. 이어서 합계를 5000원과 비교해 5000원 미만이면 true가 나오게 하세요.

해설

Java
public class TotalCheck {
    public static void main(String[] args) {
        int price = 1800;
        int quantity = 3;
        int total = price * quantity;
        System.out.println(total);
        System.out.println(total < 5000);
    }
}

합계는 5400이고, 비교 결과는 false입니다. 5000원 미만이 아니기 때문입니다.