码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础——方法传值(基本数据类型 VS 引用数据类型)

时间:2020-06-12 00:31:46      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:类型   rgs   数值   str   传值   基本数据   数据类型   pre   也有   

总结——基本数据类型传值,引用类型传地址

在Java语言中,不管参数的类型是引用类型还是基本数据类型,数据参数和形式参数进行值传递的方式只有一种——参数值的值 复制一份 赋值给形式参数

所以,实参的值,其实就有两份,调用方法中一份,被调用方法中一份

1、当方法的参数是基本数据类型的参数时,参数有两份,同时参数对应的数据的值也有两份

2、当方法的参数是引用类型时,参数值有两份,但是两个数组类型引用变量,对应的值(数组),只有一个

public class Demo1 {

  public static void main(String[] args) {
    //int a = 10;
    //int b = 20;
    //System.out.println("a:" + a + ",b:" + b);
    //change(a, b);
    //System.out.println("a:" + a + ",b:" + b);

    //--------------------------------------------------------------------

    int[] arr = {1, 2, 3, 4, 5};
    change(arr);
    System.out.println(arr[1]);
  }

  public static void change(int a, int b) {
    System.out.println("change a:" + a + ",b:" + b);
    a = b; // a = b
    b = a + b; //b = b + b = 2b
    System.out.println("change a:" + a + ",b:" + b);
  }

  public static void change(int[] arr) {
    for (int x = 0; x < arr.length; x++) {
      if (arr[x] % 2 == 0) {
        arr[x] *= 2;
      }
    }
  }
}

Java基础——方法传值(基本数据类型 VS 引用数据类型)

标签:类型   rgs   数值   str   传值   基本数据   数据类型   pre   也有   

原文地址:https://www.cnblogs.com/lcpp/p/13096851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!