java怎麼賦值
#java的賦值語句是「=」號,例如把1賦值給a可以寫:int a = 1;,如果是String類型可以寫:String a = "1";,物件可以寫成 User u1 = new User();。
了解了基本的賦值語句,下面我們來學基本型別資料的賦值、String型別資料的賦值和自訂資料型別賦值的區別。 (推薦教學:java教學)
一、基本型別資料賦值
實驗1 :定義一個int 類型變數a = 3,並將a 賦值給int b,然後將a ,賦值為5,那麼b 的值是3 還是5 呢?
int a = 3; int b = a ; a = 5 ; System.out.println(" a = " + a+" b = "+b );
執行程式 ,列印結果為 :
a = 5 b =3
我們看到,b並沒有隨a的改變而改變。基本資料型別是值賦值。
二、String類型資料賦值
實驗2:定義一個String類型變數s1 賦值為「a」,並將s1賦值為String s2 ;然後將s1賦值為「b」,那麼s2的值是「a」還是「b」?
String s1 = "a" ; String s2 = s1; s1 = "b" ; System.out.println("s1 = "+s1+" s2 = "+ s2);
運行程序,列印結果為:
s1 = b s2 =a
我們看到,s2並沒有隨s1的改變而改變。
三、自訂資料型別賦值
實驗3: 建立一個TUser u1 ,並將u1賦值給TUser u2 ,將u1重新賦值,u2會隨著u1改變而改變嗎?
TUser u1 = new TUser(); u1.setId(1); TUser u2 = u1 ; u1 = new TUser(); u1.setId(2); System.out.println("ui :"+u1 + "\t\n" +"u2 : "+ u2);
運行程序,列印結果為:
u1 :TUser(id=2) u2 : TUser(id=1)
我們看到u2並沒有隨著u1的改變而改變。如果我們不改變u1指向的位址,而是改變u1指向位址所對應的資料(即將 u1 = new TUser(); 註解掉)。那麼u1,u2 列印的記過將會是TUser(id=2)
透過以上三個實驗我們發現:
● 變數之間的賦值,可以說沒有所謂的值賦值和位址賦值。
● 簡而言之,將一個變數a賦值給另一個變數b,是將這個變數a的值,拷貝一份給變數b(如果a是引用型,就拷貝引用,如果是基本型,就拷貝原始值)
以上是java怎麼賦值的詳細內容。更多資訊請關注PHP中文網其他相關文章!