精华内容
下载资源
问答
  • 四种参数传递的形式

    2017-03-05 18:35:30
    四种参数传递的形式

    URL,超链接,js,form表单

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
      <title></title> 
      <script type="text/javascript"> 
           function Go() {           window.location.href="localhost:21811/Handler1.ashx?id=1&name='abc'" 
        } 
      </script> 
    </head> 
    <body> 
    
      <!--//参数传递的几种形式-->
      <!--第一种:直接在URL后面加参数:-->
      localhost:21811/Handler1.ashx?id=1&name="abc" 
    
    
      <!--第二种:用超链接的方法传递参数:当点击超链接的时候,首先会跳转到localhost:21811/Handler1.ashx页面,然后还会传递id 和name 两个参数过去-->
      <a href="localhost:21811/Handler1.ashx?id=1&name='abc'">超链接传递参数</a></body> 
    
      <!--第三种:通过js方法传递:用户点击这个button按钮,触发onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和name两个参数过去-->
      <input type="button" onclick="Go()" value="通过js方法传递参数" /> 
    
    
      <!--第四种:通过form表单传递-->
      <form action="Handler1.ashx" method="get"><!--注意action里面的连接不能带参数的-->> 
        <input type="text" name="id" value="3" /> 
        <input type="text" name="name" value="abc" /> 
        <input type="submit" value="通过传递参数" /> 
      </form> 
    </body> 
    </html>
    
    展开全文
  • 本文介绍了四种参数传递的形式,并给出了URL,超链接,js,form表单传参方式,需要的朋友可以参考下
  • 函数的参数传递形式: 1、 将变量名作为实参 说明:此时传递给形参是变量值,单向传递(执行期间,形参值变化不传回给实参);原因:在调用函数时候,形参和实参不是同一个存储单元。 大家都熟悉简单...
     

    函数的参数传递形式:

    1、  将变量名作为实参

    说明:此时传递给形参的是变量的值,单向传递(执行期间,形参值的变化不传回给实参);原因:在调用函数时候,形参和实参不是同一个存储单元。

     

    大家都熟悉的简单的例子:

     

    Void swapint a, int b

    {

       int temp;

       temp =a;

    b=a;

    temp= b;///在这里可以实现 a b 的互换

     

    }

     

    int main()

    {

    int I =3, j =5;

    swap(I ,i);

    count <<I << “,”<<j;///这里只将I j 的值传递上去

     

    }

    2、参数变量的指针传递形式:

     

    Void swapint *a, int *b

    {

       int temp;

       temp =*a;

    *b=*a;

    temp= *b;///在这里可以实现 a b 的互换

     

    }

     

    int main()

    {

    int I =3, j =5;

    swap(&I ,&i);

    count <<I << “,”<<j;///这里只将I j 的互换

     

     

     

     

    2、  传递变量的别名:

       Void swapint &a, int &b//在函数体位申明了即将调用变量的引用。

    {

       int temp;

       temp =a;

    b=a;

    temp= b;///在这里可以实现 a b 的互换

     

    }

     

    int main()

    {

    int I =3, j =5;

    swap(&I ,&i);

    count <<I << “,”<<j;///这里也实现了I j 值的互换。

    转载于:https://www.cnblogs.com/zhchongyao/archive/2009/11/30/1613929.html

    展开全文
  • 形式参数传递的是具体类! 形式参数传递的是抽象类! 形式参数传递的是接口类!

    1、形式参数传递的是具体类!

    /*
    	形式参数
    		基本类型:传递当前数值,形式参数的改变对实际参数影响
    		引用类型:
    			具体类:都需要创建该具体类对象
    			抽象类
    			接口
    */
    class Student{
    	public void study(){
    		System.out.println("好好学习,天天向上") ;
    	}
    }
    
    class StudentDemo{
    	public void method(Student s){ //形式参数如果是一个具体的类,需要该类对象  Student s = new Student();
    		s.study() ;
    	}
    }
    //测试
    class StudentTest{
    	public static void main(String[] args){
    		//需求:调用StudentDemo中的method 方法
    		//创建StudentDemo类对象
    		StudentDemo sd = new StudentDemo() ;
    		//创建Student对象
    		Student student = new Student() ;
    		sd.method(student) ;
    		System.out.println("--------------") ;
    		//匿名对象
    		new StudentDemo().method(new Student()) ;
    	}
    }
    

    2、 形式参数传递的是抽象类!

    /*
    	形式参数
    		引用类型:
    				具体类:都需要创建该具体类对象
    				抽象类:如果方法的形式参数是抽象类类型,那么调用方法的实际参数需要传递该抽象类的子类对象
    				接口
    */
    //抽象类特点:需要强制子类做的事情
    abstract class Person{
    	//抽象功能
    	public abstract void love() ;
    }
    
    class PersonDemo{
    	public void function(Person p){//抽象类   不能实例化	必须通过抽象类多态的方式进行实例化		
    		p.love() ;
    	}
    }
    //Scanenr sc = new Scanner(System.in) ;------>System.in--->InputStream
    
    //传统方式
    //定义一个抽象的子类(具体类)
    class Student extends Person{ 
    	//必须重写功能
    	public void love(){
    		System.out.println("学生爱学习...") ;
    	}
    }
    
    //测试
    class PersonTest{
    	public static void main(String[] args){
    		//需求:调用PersonDemo中的function方法()
    		PersonDemo pd = new PersonDemo() ;
    		//Person p = new Person() ; Person是抽象的; 无法实例化
    		//抽象类多态的方式
    		Person p = new Student() ;
    		pd.function(p);
    	}
    }
    

    3、 形式参数传递的是接口类!

    /*
    	形式参数
    		引用类型:
    				具体类:都需要创建该具体类对象
    				抽象类:如果方法的形式参数是抽象类类型,那么调用方法的实际参数需要改抽象类的子类对象
    				接口:如果方法的形式参数是接口类型,那么调用方法的实际参数需要改接口的子实现类对象.
    */
    interface Love{
    	//抽象方法
    	void love() ; //默认修饰符
    }
    
    class TeacherDemo{
    	public void show(Love l){//形式参数是接口类型  ,方法调用时需要传递的是该接口的子实现类对象
    		l.love() ;
    	}
    }
    //传统方式:定义一个接口的子实现类
    class Teacher implements Love{
    	public void love(){
    		System.out.println("老师爱生活...") ;
    	}
    }
    //测试
    class TeacherTest{
    	public static void main(String[] args){
    		//需求:调用TeacherDemo类中的show方法
    		TeacherDemo td = new TeacherDemo();
    		//Love love = new Love() ;接口不能实例化
    		//td.show(love) ;
    		
    		//改进:接口多态
    		Love love = new Teacher() ;
    		td.show(love) ;
    	}
    }
    
    展开全文
  • 函数参数传递方式之一:值传递  1. 值传递的一个错误认识 voidExchg1(int x, int y) //定义中的x,y变量被称为Exchg1函数的形式参数 {  int tmp;  tmp=x;  x=y;  y=tmp;  printf(“x=%d,y=%d/n”,x,y

    C语言中函数传递的三种传递形式:值传递,地址传递,引用传递。引用传递在C++的学习会有体会。

    函数参数传递方式之一:值传递 

    1. 值传递的一个错误认识

    voidExchg1(int x, int y)   //定义中的x,y变量被称为Exchg1函数的形式参数

    {

     int tmp;

     tmp=x;

     x=y;

     y=tmp;

     printf(“x=%d,y=%d/n”,x,y)

    }

    问:你认为这个函数是在做什么呀?

    答:好像是对参数x,y的值对调吧?

       请往下看,我想利用这个函数来完成对a,b两个变量值的对调,程序如下:

    voidmain()

    {

     int a=4,b=6;

     Exchg1 (a,b)     //a,b变量为Exchg1函数的实际参数。

    / printf(“a=%d,b=%d/n”,a,b)

    }

        Exchg1()里头的  printf(“x=%d,y=%d/n”,x,y)语句会输出什么啊?

       Exchg1()后的  printf(“a=%d,b=%d/n”,a,b)语句输出的是什么?

       程序输出的结果是:

    x=6, y=4 

    a=4, b=6  //为什么不是a=6,b=4呢?

     

     明明 把a,b分别代入了x,y中,并在函数里完成了两个变量值的交换,为什么a,b变量值还是没有交换(仍然是a==4,b==6,而不是a==6,b==4)?如果你也会有这个疑问,那是因为你跟本就不知实参a,b与形参x,y的关系了。

     

    2. 一个预备的常识

    为了说明这个问题,我先给出一个代码:

    inta=4;

    intx;

    x=a;

    x=x+3;

       看好了没,现在我问你:最终a值是多少,x值是多少?

       (怎么搞的,给我这个小儿科的问题。还不简单,不就是a==4  x==7嘛!)

       在这个代码中,你要明白一个东西:虽然a值赋给了x,但是a变量并不是x变量哦。我们对x任何的修改,都不会改变a变量。呵呵!虽然简单,并且一看就理所当然,不过可是一个很重要的认识喔。

     

    3. 理解值传递的形式

    看调用Exch1函数的代码:

     

    main()

    {

     int a=4,b=6;

     Exchg1(a,b) //这里调用了Exchg1函数       

     printf(“a=%d,b=%d”,a,b)

    Exchg1(a,b)时所完成的操作代码如下所示。

    intx=a;//←

    inty=b;//←注意这里,头两行是调用函数时的隐含操作

    inttmp;

    tmp=x;

    x=y;

    y=tmp;

       请注意在调用执行Exchg1函数的操作中我人为地加上了头两句:

    intx=a;

    inty=b;

       这是调用函数时的两个隐含动作。它确实存在,现在我只不过把它显式地写了出来而已。问题一下就清晰起来啦。(看到这里,现在你认为函数里面交换操作的是a,b变量或者只是x,y变量呢?)

       原来 ,其实函数在调用时是隐含地把实参a,b 的值分别赋值给了x,y,之后在你写的Exchg1函数体内再也没有对a,b进行任何的操作了。交换的只是x,y变量。并不是a,b。当然a,b的值没有改变啦!函数只是把a,b的值通过赋值传递给了x,y,函数里头操作的只是x,y的值并不是a,b的值。这就是所谓的参数的值传递了。

       哈哈,终于明白了,正是因为它隐含了那两个的赋值操作,才让我们产生了前述的迷惑(以为a,b已经代替了x,y,对x,y的操作就是对a,b的操作了,这是一个错误的观点啊!)。

     

    三. 函数参数传递方式之二:地址传递

    继续——地址传递的问题!

    看题二的代码:

    Exchg2(int*px, int *py)

    {

     int tmp=*px;

     *px=*py;

     *py=tmp;

     print(“*px=%d,*py=%d/n”,*px,*py);

    }

    main()

    {

     int a=4;

     int b=6;

         Exchg2(&a,&b);

         Print(“a=%d,b=%d/n”, a, b);

    }

    它的输出结果是:

     *px=6,*py=4

     a=6,b=4

     

       看函数的接口部分:Exchg2(int*px,int *py),请注意:参数px,py都是指针。

       再看调用处:Exchg2(&a,&b);

       它将a的地址(&a)代入到px,b的地址(&b)代入到py。同上面的值传递一样,函数调用时作了两个隐含的操作:将&a,&b的值赋值给了px,py。

    px=&a;

    py=&b;

       呵呵!我们发现,其实它与值传递并没有什么不同,只不过这里是将a,b的地址值传递给了px,py,而不是传递的a,b的内容,而(请好好地在比较比较啦)

       整个Exchg2函数调用是如下执行的:

     px=&a;   //

     py=&b;   //请注意这两行,它是调用Exchg2的隐含动作。

     int tmp=*px;

     *px=*py;

     *py=tmp;

     print(“*px=%d,*py=%d/n”,*px,*py);

       这样,有了头两行的隐含赋值操作。我们现在已经可以看出,指针px,py的值已经分别是a,b变量的地址值了。接下来,对*px,*py的操作当然也就是对a,b变量本身的操作了。所以函数里头的交换就是对a,b值的交换了,这就是所谓的地址传递(传递a,b的地址给了px,py),你现在明白了吗?

     

    四. 函数参数传递方式之三:引用传递

       看题三的代码:

    Exchg3(int&x, int &y) //注意定义处的形式参数的格式与值传递不同

    {

      int tmp=x;

      x=y;

      y=tmp;

     print(“x=%d,y=%d/n”,x,y);

    }

    main()

    {

     int a=4;

     int b=6;

         Exchg3(a,b);  //注意:这里调用方式与值传递一样

         Print(“a=%d,b=%d/n”, a, b);

    }

    输出结果:

    x=6,y=4

    a=6,b=4   //这个输出结果与值传递不同。

       看到没有,与值传递相比,代码格式上只有一处是不同的,即在定义处:

    Exchg3(int&x, int &y)。

       但是我们发现a与b的值发生了对调。这说明了Exchg3(a,b)里头修改的是a,b变量,而不只是修改x,y了。

       我们先看Exchg3函数的定义处Exchg3(int &x,int &y)。参数x,y是int的变量,调用时我们可以像值传递(如: Exchg1(a,b); )一样调用函数(如: Exchg3(a,b); )。但是x,y前都有一个取地址符号&。有了这个,调用Exchg3时函数会将a,b 分别代替了x,y了,我们称x,y分别引用了a,b变量。这样函数里头操作的其实就是实参a,b本身了,也就是说函数里是可以直接修改到a,b的值了。

     

      最后对值传递与引用传递作一个比较: 

    1. 在函数定义格式上有不同:

    值传递在定义处是:Exchg1(int x, int y);

    引用传递在这义处是:Exchg1(int &x, int &y); 

    2. 调用时有相同的格式:

    值传递:Exchg1(a,b);

    引用传递:Exchg3(a,b); 

    3. 功能上是不同的:

    值传递的函数里操作的不是a,b变量本身,只是将a,b值赋给了x,y函数里操作的只是x,y变量而不是a,b,显示a,b的值不会被Exchg1函数所修改。

    引用传递Exchg3(a,b)函数里是用a,b分别代替了x,y。函数里操作的是a,b。

     

    转载出处: http://blog.csdn.net/the_fire/archive/2009/06/13/4267058.aspx

    展开全文
  • 主要介绍了参数传递的四种形式(URL,超链接,js,form表单)有需要的朋友可以参考下
  • python中函数参数传递的几种方法2008-06-19 13:06:48Python中函数参数的传递是通过“赋值”来传递的。但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题”,也就说没有回答怎么赋值的问题。函数...
  • Python的参数传递形式

    2017-06-06 15:35:58
    参数传递形式: 位置参数:从左至右。 关键字参数:按照关键字名称匹配 混合上面两种方式时候:所有位置参数,所有关键字参数 定义函数时候使用默认参数:有默认值参数 混用有默认值参数和无默认值...
  • Python函数参数传递的几种形式

    千次阅读 2019-10-14 23:13:34
    python函数参数传递的几种形式前言位置传参序列传参(单星号元组传参)关键字传参字典关键字传参(双星号字典传参)混合传参函数的缺省参数结束 前言 莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑...
  • 大家好,我们今日继续讲解VBA代码解决方案第124讲内容:VBA程序执行过程中,参数传递形式...首先,我们先来理解一下几个定义:什么是形式参数,什么是实际参数,什么是参数传递,参数传递有几种形式。1形式参...
  • 数组作为参数传递的两种形式: (1)在形参数组前不添加params修饰符,所对应的实参必须是一个数组名。 (2)在形参数组前添加params修饰符,所对应的实参可以是数组名,也可以是数组元素值的列表(即:数据列表)...
  • 通过数组的形式传递参数 用到数组的形式传递参数的一般都是批量新增,批量删除 还有就是批量判断条件 首先声明个全局变量数组 如下图 然后声明一个构造函数 如下图 构造函数的作用主要是创建字段接收数据 因为最终...
  • 前端html之间是怎么进行参数传递的? 答是在html的url后增加?参数=参数值的形式 http://blog.csdn.net/liuyan19891230/article/details/50961335
  • C语言形式参数传递的两种方式

    千次阅读 2018-10-22 20:06:15
    C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。 1.直接传值。 直接传值,在fun函数里面改变a,b值,不会改变主函数里面a,b值。 #include&lt;stdio.h&gt;...
  • 函数的参数传递有两种形式 第一种是值传递,经常见于int、str、float、bool型数据。指是将实际参数值复制给形式参数一份,由被调用函数使用参与被调函数运算,在这个过程中,实际参数数值不会发生变化,而...
  • 值传递是将需要传递的值作为一个副本传递出去,例如: int i = 5; int j = i; 这里把i的值5拷贝了一份副本,作为j的值,结果是i = 5,j = 5.如果改变j的值,也就是拷贝出来的副本的值, 这个改变和原来的值毫无关系,...
  • Common Lisp 参数传递的几种形式 - i'm nobody - 博客园 Common Lisp 参数传递的几种形式 - i'm nobody - 博客园Common Lisp 参数传递的几种形式 ...
  • 命名路由参数的传递形式,以及该参数的获取,以及路由配置 带参数路由的参数获取,router-link 中参数配置格式,以及以及该参数的获取 转载于:https://www.cnblogs.com/he-zhi/p/7419505.html...
  • 大家好,我们今日继续讲解VBA代码解决方案第124讲内容:VBA程序执行过程中,参数...首先,我们先来理解一下几个定义:什么是形式参数,什么是实际参数,什么是参数传递,参数传递有几种形式。1形式参数 指出现...
  • 引言在解决这个问题之前,首先简单了解一下关于参数传递的相关概念:形式参数和实际参数值传递和引用传递1、形式参数形式参数是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。...
  • 传递,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值 引用传递,实际是通过指针来实现的,能达到使用的效果如传址,...
  • String型参数作为形参传递给方法时情况。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,960
精华内容 4,384
关键字:

参数传递的形式