zoukankan      html  css  js  c++  java
  • java的方法传参,最容易混淆的问题!!!

    参数传递

    参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。这种传递方式,我们称为参数传递。

    • 在这里,定义方法时,参数列表中的变量,我们称为形式参数
    • 调用方法时,传入给方法的数值,我们称为实际参数

    我们看下面的两段代码,来明确下参数传递的过程:

    public class ArgumentsDemo01 {
    public static void main(String[] args) {
      int a=5;
      int b=10;
    change(a, b);//调用方法时,传入的数值称为实际参数
      System.out.println("a=" + a);
      System.out.println("b=" + b);
    }
    
    public static void change(int a, int b){//方法中指定的多个参数称为形式参数
      a=200;
      b=500;
      }
    }

    程序的运行结果如下:

     

    再看另一段代码

    public class ArgumentsDemo02 {
    public static void main(String[] args) {
      
    int[] arr = { 1, 2, 3 };   change(arr);// 调用方法时,传入的数值称为实际参数   for (int i = 0; i < arr.length; i++) {     System.out.println(arr[i]);     }   } public static void change(int[] arr) {// 方法中指定的多个参数称为形式参数   for (int i = 0; i < arr.length; i++) {     arr[i] *= 2;     }   } }

    程序的运行结果如下:

    总结:

      在方法传参的过程中的要分清楚传递的是基本数据类型还是引用数据类型.其中基本数据类型传递过程中传递的是数值本身,而引用数据类型传递的是地址值! 所以基本数据类型传递的时候的数据值不会发生改变,而引用数据类型数值发生改变.

  • 相关阅读:
    UVA 562 Dividing coins --01背包的变形
    HDU 2602 Bone Collector --01背包
    Topcoder SRM 618 Div2 --900
    【转】Python 列表排序
    线段树之区间最大连续和问题
    【转】Python中string的strip,lstrip,rstrip用法
    《Python核心编程》部分代码习题实践(持续更新)
    《Python核心编程》部分错误纠正(勘误表)(持续更新)
    UVA 103 Stacking Boxes --LIS
    POJ 1836 Alignment --LIS&LDS
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10089405.html
Copyright © 2011-2022 走看看