long a=1;是允許編譯透過的。
long a = 0x123;
1、這個16進位制數沒啥好說的,支援各種資料賦值,這是必須的。
2、這個L的問題,=號右邊的0x123預設是int型別。
當這個數值大於int型別的範圍時,就會發生越界,那就意味著不能正確給a賦值。
後面加個L,就是告訴編譯器這個資料是long型的,別再當成int型別的來處理。
3、在寫程式時經常會出現Object的型別資料,通俗的說就是還不知道具體型別。
此時給它賦值就要明確給它int 還是 long,這是就需要用L,否則你在後面的
處理很有可能異常。(根據你後續的處理決定,大多數不會出現異常,只有對
型別要求很嚴格的時候才會出現)
4、實際中,你可以忽略這種用法,但要記住會出現問題,因為很多時候涉及不到
當數值不大就用int,很大就用long等等,定義合適的資料型別
long a=1;是允許編譯透過的。
long a = 0x123;
1、這個16進位制數沒啥好說的,支援各種資料賦值,這是必須的。
2、這個L的問題,=號右邊的0x123預設是int型別。
當這個數值大於int型別的範圍時,就會發生越界,那就意味著不能正確給a賦值。
後面加個L,就是告訴編譯器這個資料是long型的,別再當成int型別的來處理。
3、在寫程式時經常會出現Object的型別資料,通俗的說就是還不知道具體型別。
此時給它賦值就要明確給它int 還是 long,這是就需要用L,否則你在後面的
處理很有可能異常。(根據你後續的處理決定,大多數不會出現異常,只有對
型別要求很嚴格的時候才會出現)
4、實際中,你可以忽略這種用法,但要記住會出現問題,因為很多時候涉及不到
當數值不大就用int,很大就用long等等,定義合適的資料型別