在java中 变量之间是如何赋值的

在java中 变量之间是如何赋值的,第1张

一、基本类型数据赋值

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

类怎样赋值?类中包括变量,属性和方法,它只会被用来实例化对象后,才会赋值。比如:

public A{

String c;

private void b(){

private String getC(){

return c

}

private void setC(String c){

this.c=c

}

}

A a=new A();

a.c="123"

public class TempArray {

public static void main(String[] args) {

//声明数值型数组

int[] array  = {1, 2}

int[] array2 = new int[4]

//新增一个数组长度

array = Arrays.copyOf(array, array.length+1)

//将3这个数值赋值个数组索引 2 的位置,也就是最后面追加

array[array.length-1] = 3

System.out.println(array2.length)//Result: 4

上面用的是数组,你也可以用 ArrayList 数组列表,是List的一个实现。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java由四方面组成:

1.Java编程语言,即语法。

2.Java文件格式,即各种文件夹、文件的后缀。

3.Java虚拟机(JVM),即处理*.class文件的解释器。

4.Java应用程序接口(Java API)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7879405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存