在Java中,变量和引用都是用来指向特定对象或值的。但是,它们之间有几个重要的区别。
下面是一个变量赋值的例子:
int a = 5; int b = a;
在这种情况下,变量b的值是5,因为它只是a的一个拷贝。
下面是一个引用赋值的例子:
int[] arr1 = {1, 2, 3}; int[] arr2 = arr1;
在这种情况下,arr2与arr1指向同一个数组对象,因此改变arr1或arr2中的任一个将会对两个变量都生效。
下面是一个传递变量的例子:
public static void swap(int x, int y) { int temp = x; x = y; y = temp; }
int a = 5; int b = 10; swap(a, b); // a和b仍然是5和10,因为它们的值只是在swap方法中被交换了
下面是一个传递引用的例子:
public static void addOne(int[] arr) { for (int i = 0; i < arr.length; i++) { arr[i]++; } }
int[] arr = {1, 2, 3}; addOne(arr); // 现在arr变为{2, 3, 4}
由于传递的是引用,因此addOne方法对arr所引用的数组进行的更改仍然会影响到arr。
了解这些区别对于编写正确的Java代码是非
上一篇:变量和算术表达式C语言
下一篇:变量和引用之间的关系