이번 편의 목표: 기본형과 String을 구분하고, 변수에 값을 저장합니다.

자바는 이름을 만들기 전에 그 값이 어떤 종류인지 적습니다. 자료형은 값의 종류이고, 변수는 그 값을 가리키는 이름입니다.

자주 쓰는 자료형

도서관 예제에서는 제목, 가격, 연체 일수, 대출 가능 여부를 저장합니다.

Java
public class BookValues {
    public static void main(String[] args) {
        String title = "개미";
        int price = 12000;
        int lateDays = 3;
        double discountRate = 0.1;
        boolean available = true;
        char shelf = 'A';

        System.out.println(title);
        System.out.println(price);
        System.out.println(lateDays);
        System.out.println(discountRate);
        System.out.println(available);
        System.out.println(shelf);
    }
}

int는 정수입니다. 연체 일수와 원 단위 가격처럼 소수점이 필요 없는 값에 씁니다. double은 소수점이 있는 수입니다. boolean은 true 또는 false입니다. char는 따옴표가 아니라 작은따옴표 안의 문자 하나입니다. String은 문자열이며 기본형이 아니라 클래스입니다. 그래서 첫 글자를 대문자로 적습니다.

같은 이름으로 다시 값을 넣을 때는 자료형을 반복하지 않습니다.

Java
int lateDays = 3;
lateDays = 5;
System.out.println(lateDays);

출력은 5입니다. 선언은 한 번이고, 그 다음부터는 대입입니다.

정수와 문자열은 더하는 의미가 다르다

Java
System.out.println(10 + 20);
System.out.println("10" + "20");

첫 줄은 30입니다. 둘째 줄은 1020입니다. 문자열의 +는 이어 붙이기입니다. "연체 " + 3 처럼 문자열과 정수를 더하면 정수가 문자열로 바뀌어 연체 3이 됩니다.

자료형이 다른 값을 변수에 그대로 넣으면 컴파일 오류가 납니다. int 변수에 "3"을 넣을 수 없습니다. 나중에 입력 문자열을 정수로 바꿀 때는 변환 메서드를 사용합니다.

직접 해 보기

책 제목, 가격 1800원, 수량 3을 변수에 저장하고 제목과 가격을 출력하세요. 가격을 2000으로 바꾼 뒤 다시 출력하세요.

해설

Java
public class PriceChange {
    public static void main(String[] args) {
        String title = "공책";
        int price = 1800;
        int quantity = 3;
        System.out.println(title);
        System.out.println(price);
        price = 2000;
        System.out.println(price);
        System.out.println(quantity);
    }
}

수량은 아직 계산에 쓰지 않았습니다. 다음 편에서 가격과 수량을 곱합니다.