source

Java에서 long 초기화

goodcode 2022. 8. 28. 09:36
반응형

Java에서 long 초기화

원시 데이터 유형 - oracle doc에서는 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) 값을 사용하여 를 초기화하려면 어떻게 해야 합니까?12345678910?

2) 모든 숫자 리터럴이 기본 유형입니까?

  1. 추가하셔야 합니다.L:long i = 12345678910L;.
  2. 네.

BTW: 대문자 L일 필요는 없습니다만, 소문자와1여러 번 :)

  1. 를 추가해야 합니다.L숫자 끝에 문자를 입력하여 Java가 이를 길게 인식하도록 합니다.

    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.

언급URL : https://stackoverflow.com/questions/6834037/initialize-a-long-in-java

반응형