기본 데이터 유형-Oracle Doc에 따르면 long
Java 의 범위 는 다음 -9,223,372,036,854,775,808
과 같습니다 9,223,372,036,854,775,807
. 근데 이클립스에서 이런 일을하면
long i = 12345678910;
” The literal 12345678910 of type int is out of range
“오류가 표시됩니다.
두 가지 질문이 있습니다.
1) long
값으로 12345678910
어떻게 초기화 합니까?
2) 모든 숫자 리터럴은 기본적으로 int
?
답변
- 당신은 추가해야합니다
L
:long i = 12345678910L;
. - 예.
BTW : 대문자 L 일 필요는 없지만 소문자는 1
여러 번 혼동됩니다 :).
답변
-
L
Java 가 문자를 길게 인식하도록하려면 숫자 끝에 문자 를 추가해야합니다 .long i = 12345678910L;
-
예.
“정수 리터럴은 문자 L 또는 l로 끝나는 경우 길이가 길고, 그렇지 않으면 int 유형입니다.”라는 기본 데이터 유형 을 참조하십시오 .
답변
L
마지막 에 대문자를 추가해야합니다.
long i = 12345678910L;
플로트에 대해서도 마찬가지입니다. 3.0f
어느 질문에 답해야합니까?
답변
오래 초기화하려면 끝에 “L”을 추가해야합니다.
대문자 또는 소문자 일 수 있습니다.
모든 숫자 값은 기본적으로 int
입니다. byte
정수 를 사용 하여 작업을 수행하더라도 byte
먼저 승격 된 int
후 모든 작업이 수행됩니다.
이 시도
byte a = 1; // declare a byte
a = a*2; // you will get error here
2
기본적으로 이므로 오류가 발생 int
합니다.
따라서 byte
와 곱하려고합니다 int
. 따라서 결과는 int
에 다시 할당 할 수없는 형식으로 변환 됩니다 byte
.