java中怎么给变量赋值的赋值问题

鉴于有些人不理解“引用”这个詞语现将“引用”用“变量”这个词替换。

java中怎么给变量赋值变量之间是如何赋值的 在java 中变量a 赋值给变量b,然后改变变量a的值b也会發生改变吗?带着这个问题我们来做几个实验。

运行程序 打印结果为 :

  我们看到,b并没有随a的改变而改变基本数据类型是值赋值。

②、String类型数据赋值

实验2:定义一个String类型变量s1 赋值为“a”,并将s1赋值给String s2 ;然后将s1赋值为“b”,那么s2的值是 “a”还是 “b”?

运行程序 打印结果为 :


彡、自定义数据类型赋值

运行程序,打印结果为:

我们看到u2并没有随着u1的改变而改变

如果我们不改变u1指向的地址,而是改变u1指向地址所對应的数据(即将 u1 = new TUser(); 注释掉)那么u1,u2 打印的记过将都会是 TUser(id=2)

通过以上三个实验我们发现:

变量之间的赋值可以说没有所谓的值赋值和地址賦值。

简而言之将一个变量a赋值给另一个变量b,是将这个变量a的值拷贝一份给变量b(如果a是引用类型,就拷贝引用如果是基本类型,僦拷贝原始值)

四、关于值传递和引用传递的理解

        所谓的值传递和引用传递的定义:实参给形参赋值的的时候传递的是值还是引用(地址?)这个概念似乎还是不能很好的理解。

     值传递和引用传递全称应该是:原始类型作为参数传递的是原始值,引用类型作为参数传递嘚是引用

     值传递和引用传递的本质区别:值传递拷贝变量的值,并将它传递给形参;引用传递拷贝引用,将引用作为参数传递

}

如果这个成员变量的值不会改变直接赋值(也可以在变量前面加上static)

如果这个成员变量的值需要动态指定,则在构造方法或者set方法中进行赋值

java中怎么给变量赋值成员变量在声明的同时赋值,也可以在类的方法中赋值,为什么不能在类体中声明之后再赋值

很明显上面一种是类变量一种是方法中的变量,虽然變量名相同但是两个在内存中的地址是不相同的。

至于你的问题我认为在类变量中先声明后赋值是完全没必要的,一般声明为类变量後引用的都是方法体内或者其它类引用

因为在类变量所处位置根本不会用到它的值。

}

我要回帖

更多关于 java中怎么给变量赋值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信