zoukankan      html  css  js  c++  java
  • 值传递

    值传递:调用一个方法的时候,传递给方法的参数 ,实际上传递变量所存储的值。

    即:基本数据类型变量传递的变量的值。引用数据类型变量传递的是变量中存放的内存地址(也是变量的值)。

    基本类型变量存在栈中;引用类型变量也在栈中,但是其所指的内容在堆得内存空间中。

    代码如下:

     1 class Demo
     2 {
     3     public static void main(String[] args) 
     4     {
     5         /*
     6         int a = 3;
     7         int b = 5; 
     8         changeValue(a,b);
     9         System.out.println("交换之后的值:a = "+a +" b="+b); 
    10 
    11         int[] arr = {23,10,9};
    12         changeArr(arr,1,2);
    13         System.out.println("数的元素:"+ Arrays.toString(arr));// 9 ,10
    14             */
    15         Person p = new Person();
    16         changeObj(p,20);
    17         System.out.println("x = "+ p.x);
    18     }
    19     
    20     public static void changeObj(Person p ,int x){
    21         p.x = x;
    22     }
    23 
    24 
    25 
    26     
    27     //需求2: 定义一个函数交换数组中两个 元素的位置。
    28     public  static void changeArr(int[] arr , int index1,  int  index2){
    29         int temp = arr[index1];
    30         arr[index1] = arr[index2];
    31         arr[index2] = temp;
    32     
    33     }
    34 
    35 
    36 
    37     //需求1:定义一个函数交换两个基本类型变量的值。 
    38     public static void changeValue(int a , int b){
    39         int temp = a;
    40         a = b;
    41         b = temp;
    42         System.out.println("方法内部交换的值:a = "+a +" b="+b);
    43     }
    44 
    45 }
    View Code

    理解传递的本质:变量的传递就是值得传递。

  • 相关阅读:
    TListView点击表头进行排序和显示图标的方法
    绘制空心圆
    Delphi中设置默认打印机
    远程桌面(摘自百度)
    添加作业到ORACLE(定时执行的计划)
    字节数转换为KB或MB或GB
    C语言绘制表格
    AcroPDF.ocx退出窗体报错的解决方法
    ADOQuery的批处理方式
    杀掉进程
  • 原文地址:https://www.cnblogs.com/nicker/p/6115844.html
Copyright © 2011-2022 走看看