추천, 2020

에디터의 선택

int와 long의 차이

int 및 long 데이터 유형은 Java에서 설명하는 두 개의 정수 데이터 유형 중 하나입니다. Java에서는 int 및 long 유형에 + ve 및 -ve 값이 서명됩니다. Java는 부호없는 int 및 long 유형을 지원하지 않습니다. int와 long 데이터 유형의 근본적인 차이는 각 유형의 너비입니다. int 유형의 변수에 대해 int 데이터 유형의 너비는 32 비트입니다. 반면, long 데이터 유형은 long 유형의 변수에 대해 64 비트의 너비를 갖습니다. 아래의 비교 차트는 int와 long의 다른 차이점을 보여줍니다.

비교 차트

비교의 근거int
기본데이터 유형 int는 32 비트입니다.long 데이터 유형은 64 비트입니다.
바이트바이트 단위로 계산하면 int는 4 바이트입니다.바이트 단위로 계산하면 long은 8 바이트입니다.
범위자바에서 int 유형의 범위는 -2, 147, 483, 648에서 2, 147, 483, 647 사이입니다.자바에서는 long 타입의 범위가
-9, 223, 372, 036, 854, 775, 808 내지 9, 223, 372, 036, 854, 775, 807.
예어int 유형의 변수를 선언하는 데 사용되는 키워드는 "int"입니다.긴 유형의 변수를 선언하는 데 사용되는 키워드는 "long"입니다.
기억int 변수를 저장하는 데 필요한 메모리는 long과 비교할 때 적습니다.long 변수를 저장하는 데 필요한 메모리는 int보다 큽니다.

int 형의 정의

데이터 유형 int는 정수 값을 보유하는 가장 보편적으로 사용되는 데이터 유형입니다. int 변수가 가질 수있는 값은 너무 짧지도 그리 길지 않습니다. 일반적으로 int 변수의 값은 루프를 제어하는 ​​루프 변수로 사용되거나 배열의 인덱스 변수로 사용됩니다. byte 및 short 데이터 유형은 int 유형의 데이터 유형과 비교할 때 더 짧은 범위를 갖지만 int 변수의 값이 더 짧아도 int를 대체 할 수 없습니다. 이 문제의 배경은 데이터 유형 byte와 short를 표현식에서 사용할 때 해당 표현식을 평가하는 동안 데이터 유형 byte와 short가 컴파일러에 의해 int로 승격된다는 것입니다. 따라서, 정수가 필요할 때마다 int를 사용하는 것이 더 낫다고 말할 수 있습니다.
int 데이터 유형의 사용법을 살펴 보겠습니다.

 바이트 a = 70; 바이트 b = 80; int c = a * b; // 오류가 없습니다. 바이트 d = a + 10; // 컴파일 시간 오류. 

위의 코드에서 유효한 바이트 범위 값인 값 70과 80을 포함하는 바이트 변수 a와 b 두 개를 관찰 할 수 있습니다. 그러나 a * b의 중간 결과; 바이트의 한계를 초과합니다. 따라서 컴파일러는 expression에 사용되는 경우 byte, short 및 char 변수를 int 유형으로 자동 승격합니다. 이제 a * b의 결과는 변수 a와 b가 int 유형으로 승격되고 int 유형이 int 유형으로 지정 되었기 때문에 어떤 오류도 발생시키지 않고 부드럽게 컴파일되지 않는 int 변수에 할당된다는 것을 알 수 있습니다. 오류가 발생합니다.

코드의 마지막 줄에서 표현식을 볼 수 있습니다. 여기서 값 10은 바이트 변수 'a'에 추가되며 그 결과는 여전히 바이트 제한을 초과하지 않습니다. 그러나 표현식 평가 바이트 변수 'a'가 int 유형으로 승격되는 동안 바이트 변수 'd'에 표현식 "a + 10"의 중간 결과가 지정되면 컴파일 시간 오류가 발생합니다. byte 형에 int 형의 할당은 허가되지 않습니다. 따라서 컴파일 시간 오류가 발생합니다.

롱 타입의 정의

데이터 유형 long은 byte, short 및 int 유형과 비교하여 가장 큰 범위와 너비를가집니다. Java에서 long 유형은 64 비트 부호있는 정수 유형입니다. long 형은, int 형이 목적의 값을 보관 유지하는데 그렇게 크지 않은 경우에 사용됩니다. long의 범위는 큰 정수와 같은 더 큰 값을 유지하기 위해 상당히 큽니다 -9, 223, 372, 036, 854, 775, 808 ~ 9, 223, 372, 036, 854, 775, 807입니다. 아래에 예를 들어 유형을 오래 이해할 수 있습니다.

 클래스 가중치 {public static void main (String args []) {int item; int wt_per_item; 긴 그램; 긴 상자; 항목 = 10000000; // 숫자 항목을 지정하십시오. wt_per_item = 10000; // 킬로미터 단위로 한 항목의 가중치를 지정합니다. grams = wt_item * 1000; // 무게를 그램으로 바꾼다 Box = item * grams; // 그램 단위의 상자 가중치를 계산합니다. System.out.println ( "항목 수"+ item); System.out.println ( "항목 당 가중치"+ wt_per_item + "kilos"); System.out.println ( "상자의 무게 (그램) + 상자 +"킬로 "); }} 항목 수 10000000 항목 당 무게 10000 킬로 그램 단위의 상자 무게 100000000000000 킬로 

위의 코드에서 출력을 관찰하십시오. 항목 무게가 10000kg 인 10000000 개의 항목을 포함하는 상자를 포함하는 전체 상자의 무게에 대해 계산 된 결과입니다. 상자의 가중치에 대한 계산 된 값은 int 변수로 유지할 수 없습니다. 따라서 큰 값을 계산하거나 보유 할 때 long 형식을 사용해야하는 경우가 있습니다.

int와 long의 주요 차이점

  1. int 형과 long 형의 기본적인 차이점은, int의 폭이 int이며, int는 32 비트, long은 64 비트입니다.
  2. int 형과 long 형은, int 형의 경우는 4 바이트, long 형의 경우는 int 형의 경우는 2 배가됩니다.
  3. Java에서는, int 형의 범위는 -2, 147, 483, 648에서 2, 147, 483, 647까지입니다 만, long 형의 범위는 int 형보다 매우 큰 -9, 223, 372, 036, 854, 775, 808 ~ 9, 223, 372, 036, 854, 775, 807입니다.
  4. int 유형의 변수를 선언하는 데 사용되는 키워드는 "int"입니다. 반면에 long 유형의 변수를 선언하는 데 사용되는 키워드는 "long"입니다.
  5. 일반적으로 int 유형의 값을 보유하는 데 필요한 메모리는 long과 비교할 때 적습니다.

결론:

중간 범위 값을 필요로하는 경우 코드를 작성하는 동안 int 유형을 사용할 수 있지만 모든 표현식에 의해 생성 된 출력이 더 커지거나 더 큰 값이 계산에 사용되는 경우 긴 유형 변수를 사용하여 보유해야합니다 값.

Top