七叶笔记 » java编程 » java怎么赋值

java怎么赋值

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是引用类型,就拷贝引用,如果是基本类型,就拷贝原始值)

相关文章