A. java中大寫的Long與小寫的long區別是什麼
Long 是long類型的包裝類 Long a=10l 相當於Long a=new Long(10);
java1.幾以後有了自動封裝 忘了是幾了 所以可以直接寫成Long a=10l
一個是基本數據類型 一個是類實例化對象
B. java中"long readPosition = 0;"語句是什麼意思
我幫你從頭整理一下吧,
RandomAccessFile in = new RandomAccessFile(gradeFile,"rw");以讀寫的方式創建一個訪問文件gradeFile的類。
long fileLength = in.length();存儲取得的記錄的大小。
long readPosition = 0;用來存儲記錄偏移量的值
while (readPosition < fileLength)循環判斷,如果偏移量小於記錄的大小,則執行循環體,如果大於或等於記錄大小,則執行下一步操作。
String name = in.readUTF();從記錄中讀取兩個位元組,然後以utf-8形式編碼
int time = in.readInt();從記錄中讀取四個位元組。
readPosition = in.getFilePointer();返回記錄中當前的偏移量。
所以,不理解那句的意思,應該就是不理解RandomAccessFile的具體是如何操作數據的。如果學過C這就不難理解了。這個偏移量和C中的指針非常相似。不過偏移量是個整數,表示的是,開頭到指針現在指向的位置的偏移量,從0到記錄長度(也就是 in.length())
所以就不難理解設置long readPosition = 0;的目的了,這個變數出現的意思就是存儲了指針當前位置的偏移量,如果指針指向了最後一個位置,那麼在做循環判斷while (readPosition < fileLength)的時候結果為false那麼循環體就不執行,避免出現異常。
C. java的基本數據類型有哪些
四種八類:
基本數據類型
整數類型:
byte:位元組佔用 1位元組 8位,用來表達最小的數據單位,儲存數據長度為 正負 127;
short:位元組佔用 2位元組 16位,儲存數值長度為 -32768-32767
int:位元組佔用 4位元組 32位,最為常用的整數類型,儲存長度為,-2^31-1~2^31 (21 億)
long:位元組佔用 8位元組 64位,當到達int數值極限時使用,儲存長度為 看圖片:
浮點數類型:
float:單精度浮點型 32位 取值范圍 3.4e-38~3.4e-38
double:雙精度浮點型 64位 ,java中默認的浮點類型 取值范圍 1.7e-308~1.7e-308
字元類型:
char:16位 ,java字元使用Unicode編碼;
布爾類型
boolean : true 真 和 false 假
引用數據類型:
類 class
介面 interface
數組
D. java的long 計算多少范圍內是准確的
long最大值是9223372036854775807(2^64-1)。
long最小值是-9223372036854775808(-2^64)。
long的最大值寫法:long l = 9223372036854775807L;
long的最小值寫法:long l =- 9223372036854775808L;
備註:後面的一個L,必須加上去。
E. java里用Math.round怎麼吧小數點後面的0去掉
可參考如下代碼:
Strings="111.01100";
if(s.indexOf(".")>0){
//正則表達
s=s.replaceAll("0+?$","");//去掉後面無用的零
s=s.replaceAll("[.]$","");//如小數點後面全是零則去掉小數點
}
System.out.println(Math.round(s));
JAVA API解釋如下:
public static long round(double a)
returns the closest long to the argument. the result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long. in other words, the result is equal to the value of the expression:
返回最接近參數的long。結果將舍入為整數:加上 1/2,對結果調用 floor 並將所得結果強制轉換為long類型。換句話說,結果等於以下表達式的值:
(long)Math.floor(a + 0.5d)
特殊情況如下:
如果參數為 NaN,那麼結果為 0。
如果結果為負無窮大或任何小於等於Long.MIN_VALUE的值,那麼結果等於Long.MIN_VALUE的值。
如果參數為正無窮大或任何大於等於Long.MAX_VALUE的值,那麼結果等於Long.MAX_VALUE的值。
參數:
a- 舍入為long的浮點值。
返回:
舍入為最接近的long值的參數值。