>  기사  >  Java  >  내 긴 값이 \"범위를 벗어났습니다\" 오류를 발생시키는 이유는 무엇입니까?

내 긴 값이 \"범위를 벗어났습니다\" 오류를 발생시키는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-31 03:33:01162검색

Why Does My Long Value Throw an

긴 데이터 유형의 수수께끼: "범위를 벗어남" 오류 풀기

Java에서 데이터 유형으로 작업할 때 각각의 값 범위를 준수하는 것이 중요합니다. 특히 Long은 -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807에 이르는 인상적인 범위를 자랑합니다. 그러나 올바른 구문을 따르지 않으면 난감한 오류가 발생할 수 있습니다.

코드 조각에서 볼 수 있듯이 testLong이라는 긴 변수에 9223372036854775807 값을 할당하려고 시도했습니다. 그러나 컴파일러는 "int 유형의 리터럴 9223372036854775807이 범위를 벗어났습니다."라는 메시지로 놀랍게도 반박했습니다.

이 불일치 오류는 컴파일러가 리터럴을 int 데이터 유형으로 잘못 해석하여 발생합니다. 훨씬 더 작은 값 범위. 이러한 오해를 바로잡기 위해서는 간단한 조정이 필요합니다. 리터럴 끝에 대문자 L을 추가하면 컴파일러가 이를 long으로 처리하도록 지시합니다.

long value = 9223372036854775807L;

이 미묘한 조정을 통합함으로써 할당된 값은 long 데이터 유형의 허용 범위 내에 원활하게 들어갑니다. . 이 접미사가 없으면 컴파일러가 리터럴을 int로 잘못 식별하여 무서운 "범위 초과" 오류가 발생한다는 점을 기억하세요.

위 내용은 내 긴 값이 \"범위를 벗어났습니다\" 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.