변수란?
· 값을 저장할 수 있는 공간입니다! (바구니 개념)
변수의 종류
· 숫자┌ 정수 : int (byte/short/char/int/long) ex) 5
└ 실수 : double (float/double) ex) 5.5 (소수점 표기 가능합니다.)
· 문자┌ 문자 : char '(작은 따옴표) ex) '허' (문자 1글자)
└ 문자열 : String "(큰 따옴표) ex) "허니"
· 논리 - 논리 : boolean true(참) / false(거짓) (2개의 값 밖에 없습니다.)
변수명 규칙
· 숫자로 시작할 수 없습니다.
· 소문자로 시작하면서 단어 연결 시, 대문자로 구분합니다. (카멜 표기법)
· 예약어를 사용할 수 없습니다.
변수 선언
int score; // 변수명 score을 정수형 타입의 int로 선언
변수 저장(초기화)
double rate = 2.11; // 변수명 rate를 실수형 타입 double로 선언하고,
// 2.11이라는 값으로 저장(초기화)합니다.
변수 사용(호출)
· 선언하고 변수명에 해당하는 값이 없으면 해당 변수는 사용이 불가능합니다.
int num1;
int num2 = num1 + 10; // 변수명 num1이 정수형 타입의 int로 선언만 됐고, 저장한 값이 없어 사용이 불가능합니다.
타입 변환
자동 타입 변환
· 작은 타입의 값이 큰 타입에 저장될 때 자동으로 변환됩니다.
int a = 10;
double b = 10.5;
double c = a; // double ← int
// 실수 타입(double)이 정수 타입(int)보다 큽니다.
// c의 값은 10.0이 됩니다.
· 문자열이 +연산 될 때 자동으로 변환됩니다.
int a = 10;
double b = 10.5;
double c = a;
String s = a + b + "문자열" // 10.0 + 10.5 + "문자열" → 20.5"문자열"
// s의 값은 20.5문자열 이 됩니다.
강제 타입 변환
· 큰 타입이 작은 타입에 저장될 때 강제 타입 변환을 해야합니다.
· 강제 타입의 기본 형태 : 작은 허용 범위 타입 = (작은 허용 범위 타입) 큰 허용 범위 타입
정수형끼리의 연산 결과가 실수형(소수점 포함) 값이 나오게 되면,
소수점 데이터의 손실이 있으니 주의해야 합니다.
double b = 10.5;
int d = (int)b; // 실수 타입의 값 10.5 이 정수형 타입으로 강제 변환 되어 소수점 이하의 값이 사라집니다.
// d의 값은 10
문자열(String) ↔ 숫자형 (int, double)
숫자형 → 문자열
· 변환 코드 : String.valueOf(숫자)
문자열 → 숫자
· 문자열 → 정수 변환 코드 : Integer.parseInt(문자열 변수)
· 문자열 → 실수 변환 코드 : Double.parseDouble(문자열 변수)