└ᘐ 변수란?
-> 사용자가 입력한 데이터를 기억하는 장소에 부여된 이름.
=>데이터를 기억하는 장소는 반드시 그 장소에 기억될 내용과 일치
하는 형태로 준비되어야 한다.
(ex) 1이라는 숫자를 기억하고자 하면 이 숫자를 기억할 능력이 있
는 변수가 준비되어야 한다.
└ᘐ 변수의 타입
1. Value 타입 => stack 영역에 생기는 변수
┌ 논리 ㅡ> boolean ㅡ> 1byte 할당 ㅡ> 1bit만 사용
│ ┌ byte ---------> 1byte 할당
│ │ short ---------> 2byte 할당
├ 정수 ┼ int ㅡ>기본값 ㅡ>4byte 할당
│ └ long ---------->8byte 할당
└ 실수 ┬ float --------------->4byte 할당
└ double ㅡ> 기본값 ㅡ>8byte 할당
2. Reference 타입 => heap 영역에 생기는 변수
└ᘐ 데이터(data)에도 형태가 있다.
10 -> int 형태
3.14 ->double 형태
true, false ->boolean 형태
ex) boolean a = 1; (x)
boolean a = true; (o)
└ᘐ 예외! [정수값은 호환된다]
단, 실수 형태는 절대로 호환 안된다.
ex) int a = 10; (o)
byte a = 10; (o)
float k = 10; (o)
float k = 3.14; (x)
float k = 10. ; (x) -> float k = 10.f; (o)
└ᘐ casting 방법
└ 잠시 형태를 변경
[방법 1]
( )O;
ex) (float)3.14;
[방법 2]
( )?;
ex) 3.14F;
3.14L;
└ᘐ Data 가 아닌 변수 끼리는 호환이 안된다.
ex) int a = 5; (o)
byte b = a; (x) ㅡ> byte b = (byte)a; (o)
└ᘐ 정수의 연산(계산)이 결과는 항상 int이다.
ex) byte a = 5; (o)
byte b = 10; (0)
byte c = a + b; (x) ㅡ> byte c = (byte)(a+b); (o)
└ᘐ byte가 큰 data는 byte가 작은 장소에 들어갈 수 없다.
└ᘐ char형 같은 경우는 입/출력시 변경된다.
입력시 " 숫자로 " , 출력시 " 문자로 "
ex) * char s = 'a'; ㅡ> s = s + 1; (o)
System.out.println(s); -> 결과 : 'B'출력
* char s = 97;
System.out.println(s); -> 결과 : 'A'출력
이 글은 스프링노트에서 작성되었습니다.