方法的参数传递

方法的参数传递(重点、难点
 1.形参:方法声明时,方法小括号内的参数
    实参:调用方法时,实际传入的参数的值

2.规则:java中的参数传递机制:值传递机制
 1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
 2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。

图解如下:

package com.atguigu.java;
/*
 * 方法的参数传递(重点、难点)
 * 1.形参:方法声明时,方法小括号内的参数
 *   实参:调用方法时,实际传入的参数的值
 *
 * 2.规则:java中的参数传递机制:值传递机制
 *   1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
 *   2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
 *
 */
public class TestArgsTransfer {
    public static void main(String[] args) {
        TestArgsTransfer tt = new TestArgsTransfer();

        int i = 10;
        int j = 5;
        System.out.println("i:" + i + " j:" + j);//i : 10  j : 5

//        //交换变量i与j的值
//        int temp = i;
//        i = j;
//        j = temp;
        tt.swap(i, j);//将i的值传递给m,j的值传递给n

        System.out.println("i:" + i + " j:" + j);//i : 10  j : 5
    }

    //定义一个方法,交换两个变量的值
    public void swap(int m,int n){
        int temp = m;
        m = n;
        n = temp;
        System.out.println("m:" + m + " n:" + n);
    }
}
package com.atguigu.java;

public class TestArgsTransfer1 {
    public static void main(String[] args) {
        TestArgsTransfer1 tt = new TestArgsTransfer1();
        DataSwap ds = new DataSwap();

        System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);

        tt.swap(ds);
        System.out.println(ds);

        System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);

    }
    //交换元素的值
    public void swap(DataSwap d){
        int temp = d.i;
        d.i = d.j;
        d.j = temp;
        System.out.println(d);//打印引用变量d的值
    }
}

class DataSwap{
    int i = 10;
    int j = 5;
}
时间: 2024-09-29 15:57:51

方法的参数传递的相关文章

java 对象的this使用 java方法中参数传递特性 方法的递归

一.this关键字,使用的情形,以及如何使用. 1.使用的情形 类中的方法体中使用this  --初始化该对象 类的构造器中使用this --引用,调用该方法的对象 2.不写this,调用 只要方法或者构造器中  不存在成员变量与局部变量同名的情况,可直接不写this 否则方法中或构造器中使用的就是局部变量 3.static 静态方法不能调用this,不能调用任何非static修饰的成员变量 或者方法 二.java方法中  参数传递特性 1.基本数据类型--实际是新增变量,并赋值而已   不过代

方法的参数传递机制(C#)

六 方法的参数传递机制 值参数,引用参数,输出参数 //参数的传递机制 using System; class Method { //值参数,传递的是数值本身,不改变外部变量的值 public static void ValueMethod(int i) { i++; } //引用参数,传递的是数据地址,直接对数据进行操作,原值要变化 //要注意的是string类型,赋值以后原值就不好改变了 public static void ReferenceMethod(ref int i) { i++;

JAVA学习--方法的参数传递

* 方法的参数传递(重点.难点)  * 1.形参:方法声明时,方法小括号内的参数  *   实参:调用方法时,实际传入的参数的值  *     * 2.规则:java中的参数传递机制:值传递机制  *   1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量  *   2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量.  * 1 public class TestArgsTransfer { 2 public stati

初学笔记(C#方法的参数传递)

在声明方法时,所定义的参数是形式参数(简称形参),这些参数的值由调用方负责为其传递,调用方传递的是实际数据,成为实际参数(简称实参),在调用方法时,,必须严格按照方法所定义的参数类型和顺序指定实参.方法的参数传递按性质分为按值传递和按引用传递. 1.安值传参      按值传递时,把实参变量的值赋给相应的行参变量,即被调用的方法接受的只是实参的数据值.当方法内部更改了形参数据时,不会影响到是参变量的值,即实参和形参变量是两个不相同的变量,它们具有各自的内存地址和数据值.故实参传递给形参是一个单向

我的Java开发学习之旅------>Java语言中方法的参数传递机制

实参:如果声明方法时包含来了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时传给形参的参数值也被称为实参. Java的实参值是如何传入方法?这是由Java方法的参数传递机制来控制的,Java里方法的参数传递方式只有一种:值传递.所谓值传递,就是将实际参数的副本(复制品)传入方法内,而参数本身不会收到任何影响. 一.参数类型是原始类型的值传递 下面通过一个程序来演练 参数类型是原始类型的值传递的效果: public class ParamTransferTest { public sta

java方法的参数传递

java中方法的参数传递只有一种:值传递public class SwapMethod { /**  * 交换方法  * @param a  * @param b  */ public static void Swap(int a , int b){  int temp ;  temp =a;  a = b;  b = temp;  System.out.println("交换后的a = "+a+";  b = "+b); } public static void

尚硅谷面试第一季-04方法的参数传递机制

面试题代码: 1 package 方法的参数传递机制; 2 3 import java.util.Arrays; 4 5 /** 6 * @author zsh 7 * @company wlgzs 8 * @create 2019-03-27 9:37 9 * @Describe 方法的传递机制 10 * (1)形参是基本数据类型的 11 * 传递数据值 12 * (2)形参是引用数据类型的 13 * 传递地址值 14 * 特殊的类型:String.包装类等对象不可变性 15 */ 16 pu

深入理解Java中方法的参数传递机制

形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. 在程序设计语言中,参数有形式参数和实际参数之分,先来看下它们的定义: 形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数,简称"形参". 实际参数:在主调函数中调用一个函数时,函数名后面括号中的参数称为"实际参数",简称"

JavaSE 面试题: 方法的参数传递机制

JavaSE 面试题 方法的参数传递机制 import java.util.Arrays; public class Test { public static void main(String[] args) { int i = 1; String str = "hello"; Integer num = 200; int[] arr = {1, 2, 3, 4, 5}; MyData my = new MyData(); change(i, str, num, arr, my); S