Java編譯時常量類型、賦值類型

long len = 9849435934523;
這個時候就會出錯,編譯器在讀取的時候,將其認爲是Int型。
所以正確的爲:
long len = 9849435934523L;
//
long len = 1L;
int age = len;
出錯:編譯器在會認爲len的類型無法放進int型中的。
注:final leng len = 1L; 也是long型的

//總結
常量在編譯時:
小數 認爲是 double型
整數 認爲是int型的

所以
對long型賦值:加L,就將其讀取出Long型
對float型賦值:加F,就將其讀取float型

此外,對於
final long len = 1L;
int age = len;
編譯器只判斷類型是否兼容。這裏就會出錯。

在進行賦值的時候,纔會去判斷目標類型能否"容得"下該值,如果行則好,不行就會報編譯錯誤。
//final
只允許賦一次值,可以在編譯時,也可以在運行時。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章