zoukankan      html  css  js  c++  java
  • 形参与实参

    public class test {
        static int a;
        public static void main(String[] args) {
            a =10;
            parameter(10);//或parameter(a);
    System.out.println("3:"+a);
        }
        private static void parameter(int a){
    System.out.println("1:"+a);
            a = 20;
    System.out.println("2:"+a);
        }
    }

    运行结果:

    1:10
    2:20
    3:10
    

      

    此例子中parameter(10)中的10为实参,实参就是以一个实际参数传过去,方法parameter(int a)与parameter(a)中的a都是形式参数,

    实参(argument):
      全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。此例子中parameter(10)中的10为实参,实参就是以一个实际参数传过去。      
    形参(parameter):
    全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。方法parameter(int a)与parameter(a)中的a都是形式参数,接收parameter(10)中传过来的实参,这时实参变为形参。
      最后的结果3:10,是因为parameter(int a)中重新实义了一个形参变量a,与全局变量a不相等,所以parameter方法里的操作传不回main中,所谓直接赋值形参会改变形参的引用,但并不能改变作用域外的值,例子中作用域指parameter方法
     
     
    将上面例子修改下:
    public class test {
        static int a;
        public static void main(String[] args) {
            a =10;
            parameter();
    System.out.println("3:"+a);
        }
        private static void parameter(){
    System.out.println("1:"+a);
            a = 20;
    System.out.println("2:"+a);
        }
    }

    结果:

    1:10
    2:20
    3:20
    

      

  • 相关阅读:
    [转载]Javascript:history.go()和history.back()的用法和区别
    微信商户平台,开通企业付款到用户功能
    使用ASP.Net WebAPI构建REST服务——客户端
    在WebAPI使用Session
    在asp.net一般应用程序中使用session
    Web Api Post注意事项
    WebAPI返回数据类型解惑
    c#中const与readonly区别
    sql之left join、right join、inner join的区别
    C#实现json的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/cnJun/p/3542273.html
Copyright © 2011-2022 走看看