變數的定義:
變數:儲存單元的名字
每乙個記憶體單元都用乙個識別符號來標識,這些記憶體單元被稱為變數,定義的識別符號就是變數名,記憶體單元儲存的資料就是變數的值。
變數的型別轉換
1、自動型別轉換(隱式型別轉換):
兩種型別在轉換過程中不需要顯示的進行宣告
兩種型別必須相容
目標型別的取值範圍大於原型別的取值範圍
例如:
byte b = 3;
int x = b;//程式把byte型別的變數b轉換成int型別,無需特殊宣告
上述將byte型別的值賦給int型別的變數x,由於int型別的取值範圍大於byte型別的取值範圍,編譯器在賦值過程中不會造成資料丟失,編譯器可以自動完成這種轉化,在編譯時不報任何錯誤。
以下三種型別可以進行自動型別轉化:
1、整數型別之間可以實現轉化
2、整數型別轉化成float型別
3、其他型別轉化成double型別
2、強制型別轉化
public
class text3
}
這時出現:
修改如下:
byte b = (byte) num ;
強制型別轉換:
public
class text4
}
執行結果如下:
int型別有4個位元組,byte有1個位元組,轉換過程中,前面3個高位位元組的資料丟失,數值發生改變。
Java中的變數
在程式中,我們常常需要儲存一些動態的資料,或者對這些資料進行動態的操作,所以就產生了變數。單個變數的宣告要按照以下形式 資料型別 變數名 資料型別 變數名 變數值 這兩種方法的區別是第一種沒有賦初始值,而第二種方法宣告變數的時候同時賦初始值,推薦使用第二種方法,因為沒有賦值的變數參與操作可能會引起未...
java中變數問題
在修改bug時,說是函式的引數最好不要在函式內部重新使用。上滿呼叫函式後輸出foo.add是42,但a的值仍然是40,有些疑惑?解決 在呼叫時,a的記憶體分配在堆中,首先是a a b入棧,在棧中新建a變數,等號後面a的值是從堆中呼叫,計算後把值42放在棧中,所有foo.add返回時42,因為a是基本...
java 繼承中的 成員變數
之前看到了 這麼一段 子類中 出現了 和父類 成員同名的 成員變數後的取值問題 如下 class superclass public superclass int number public int getnumber class subclass1 extends superclass class...