long數(shù)據(jù)類型是64位有符號Java原始數(shù)據(jù)類型。
當(dāng)對整數(shù)的計(jì)算結(jié)果可能超出int數(shù)據(jù)類型的范圍時(shí)使用。
其范圍是 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (-263 to 263 - 1)。
long的范圍內(nèi)的所有整數(shù)稱為long類型的整數(shù)字面量。 long類型的整數(shù)常數(shù)總是以L或小寫l結(jié)尾。
以下是使用long類型的整數(shù)字面量的示例:
long num1 = 0L; long num2 = 4L; long mum3 = -3; long num4 = 8; long num5 = -1L;
long類型的整數(shù)字面量可以用八進(jìn)制,十六進(jìn)制和二進(jìn)制格式表示。例如,
long num1; num1 = 25L; // Decimal format num1 = 031L; // Octal format num1 = 0X19L; // Hexadecimal format num1 = 0b11001L; // Binary format
當(dāng)long 字面量分配給long類型的變量時(shí),Java編譯器檢查要分配的值,并確保它在長數(shù)據(jù)類型的范圍內(nèi);否則會產(chǎn)生編譯時(shí)錯(cuò)誤。
從int到long的賦值是有效的,因?yàn)榭梢源鎯υ趇nt變量中的所有值都可以存儲在long變量中。然而,相反的是不是真的。
您不能簡單地將存儲在long變量中的值分配給int變量。
存在值溢出的可能性。
要將long變量的值賦給int變量,請?jiān)贘ava中使用“cast”,如下所示:
num1 = (int)num2;
Java有一個(gè)類Long,它定義了兩個(gè)常量來表示長數(shù)據(jù)類型Long.MAX_VALUE和Long.MIN_VALUE的最大值和最小值。
long max = Long.MAX_VALUE; long min = Long.MIN_VALUE;
更多建議: