当前位置:   article > 正文

Java自学day 4 之 数组赋值机制_java堆区数组赋值

java堆区数组赋值

 1.

  1. import java.util.Scanner;
  2. public class test1 {
  3. public static void main(String args[]) {
  4. //基本数据类型的赋值,赋值方式为拷贝
  5. int n1 = 10;
  6. int n2 = n1;
  7. n2=80;
  8. System.out.println(n1);
  9. System.out.println(n2);
  10. }
  11. }

其实按照c也可以解释,n1,n2是村纯在不同的内存单元,n2=n1只是进行了把a的值传递给n2,而与内存单元无关,所以再对n2赋值就不会影响n1。

  1. import java.util.Scanner;
  2. public class test1 {
  3. public static void main(String args[]) {
  4. //基本数据类型的赋值,赋值方式为拷贝
  5. int n1 = 10;
  6. int n2 = n1;
  7. n2=80;
  8. System.out.println(n1);
  9. System.out.println(n2);
  10. //数组在默认情况下是引用传递,赋的值是地址,赋值方式为引用传达
  11. int[] arr1 = {123};
  12. int[] arr2 = arr1;
  13. arr2[0] = 10;
  14. for(int i=0;i<arr1.length;i++){
  15. System.out.println(arr1[i]);
  16. }
  17. }
  18. }

数组也可以用c来解释,c中数组的名字就可以代表数组的地址(一个数组名就是一个地址),所以当两个数组进行赋值操作就不再是值传递,而是地址。

 值传递 是在栈区进行 存储在栈区

引用传递 实际存储在堆区

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号