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;     }   } }

    程序的运行结果如下:

    总结:

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

  • 相关阅读:
    动态规划算法
    MapReduce学习笔记(4)
    MapReduce学习笔记(3)
    MapReduce学习笔记(2)
    Intellij IDEA output 中文乱码
    Spring实例化bean的三种方式
    Spring框架捕获所有URL的请求的处理方案
    异常解决:Mapped Statements collection does not contain value for …
    Java包 package 的命名规范, 命名规则
    拦截器 Filter : js、css、jpg、png等静态资源不被拦截解决方案
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10089405.html
Copyright © 2011-2022 走看看