?默認類型:
?????在java里整數默認是int類型,小數默認是double類型,單個字符默認是char類型,true、false自然默認的是boolean類型,字符串默認的是String類型。
?
??變量和常量類型轉換:
?????因為有默認類型,在需要使用其他類型的時候就需要進行類型轉換,類型轉換中小轉大是自動轉換,大轉小則需要強制轉換。例:int i=237196223;用short類型接受則需要用強制轉換:short s=(int)237196223;。
?
變量名申請規則:
申請一個數據類型它在內存中的內存的地址是連續的;變量名存儲在命名區域,它所指向的都是內存地址編號,也是一個數據值的代表標識,它就像一個標簽代號,如果需要修改調用一個變量,就可以用它的標簽名字去調用操作。
變量名的申請可以以下劃線和字母開頭,數字結尾;不可以以數字開頭和特殊字符開頭。開發人員就可以使用變量名來進行取值、存放、修改、調用等操作。
?
自動類型轉換:
???在java中小的數據類型是可以自動轉換成大的類型,就像小的杯子里的水倒進大杯子里不用擔心水的溢出。例如:byte b=127; short s=b; byte類型比short類型要小轉換不丟失精度,所以是可以自動轉換的。
?
強制類型轉換:
大的數據類型需要轉換成小的數據類型就需要通過強制轉換了。因為大的杯子里的水要倒進小的杯子里水會溢出來,自然就會損失精度。例如:short s=(byte)128;?輸出的結果就是-128,因為強制轉換損失了精度。
強制類型轉換是在二進制里進行截取的,例如int是32位,short是16位,int類型強制轉換成short類型時截取后面的16位二進制碼。
?
變量和常量的介紹:
常量只能賦值一次,常量的值是不可以再改變的,而且如果賦的值是一樣的話,指向的都是同一片內存地址,賦的值不一樣才去新開辟一個內存地址,常量需要用final關鍵字聲明。變量則是在存儲范圍中可以任意改變的,能夠多次賦值的稱為變量。
變量的內存分配是活動的,申請一次分配一次,每次申請都是分配一個新的內存,并且內存地址是獨立的。
?
數據類型在內存中有三個層,常量層、標識層、數據層;常量層里自然是用于存儲常量里面的值是不可以再改變的,并且賦的值一樣的話指向的就是同一個內存地址。標識層里則是變量名,變量名指向的是變量值的地址編號。數據層里都是可變動的數據變量,里面的值可以反復修改或賦值。
本文轉自 ZeroOne01 51CTO博客,原文鏈接:http://blog.51cto.com/zero01/1955641,如需轉載請自行聯系原作者