Programming/Java2014. 3. 7. 16:38
long 형에 int형의 범위를 넘는 값을 입력할 경우 L을 붙여 주지 않으면 에러가 발생한다.
(The Literal 9223372036854775807 of type int is out of range)

실수는 d 식별자가 없으면 double형으로 인식한다.
float 형에만 강제로 f를 붙여 주어야 함.

Data TypeDefault Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object)   null
boolean false
[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html]

변수 크기
boolean - true/false 1bit
byte - 1byte
char - 2byte

short - 2byte
int - 4byte
long - 8byte

float - 4byte
double - 8byte

>>> unsigned bitwise shift right
c에서는 타입에 따라서 unsigned shift / signed shift를 사용하지만
자바는 기본적으로 signed이기에 unsigned shift가 별도로 연산자 제공이 된다.
[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html]

JVM 32bit/ 64bit 상관없이 long은 64bit
[링크 : http://stackoverflow.com/questions/9511836/size-of-java-primitives-on-32-64-bit-jvm]

JAVA 8 부터 unsigned int 지원예정
[링크 : http://stackoverflow.com/questions/9854166/declaring-an-unsigned-int-in-java]
[링크 : https://blogs.oracle.com/darcy/entry/unsigned_api]

'Programming > Java' 카테고리의 다른 글

java explicit upcasting 묵시적 형변환  (0) 2014.03.07
java byte 형의 오묘함  (0) 2014.03.07
java framework  (0) 2014.03.06
java tutorial docs  (0) 2014.03.06
java sdk 설치경로  (0) 2012.03.18
Posted by 구차니