[java] Java에서 long을 초기화하십시오.

기본 데이터 유형-Oracle Doc에 따르면 longJava 의 범위 는 다음 -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?



답변

  1. 당신은 추가해야합니다 L: long i = 12345678910L;.
  2. 예.

BTW : 대문자 L 일 필요는 없지만 소문자는 1여러 번 혼동됩니다 :).


답변

  1. LJava 가 문자를 길게 인식하도록하려면 숫자 끝에 문자 를 추가해야합니다 .

    long i = 12345678910L;
  2. 예.

“정수 리터럴은 문자 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.


답변