[javaSE] 变量的传值与传址

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[javaSE] 变量的传值与传址相关的知识,希望对你有一定的参考价值。

变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间

这个空间需要一个名称,这个名称就是变量名

 

基本数据类型:byteshortint,longdoublefloatcharboolean

引用数据类型:类(Class),接口(interface),集合

 

传值就是把这个变量复制一份

传址就是还是同一个对象

基本数据类型一般都是传值,引用数据类型一般是传地址

import java.util.ArrayList;
import java.util.List;


public class VariableDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //初始
        int a=1;
        List<String> arr=new ArrayList<String>();
        arr.add("taoshihan1");
        //测试
        makeChange(a, arr);
        //输出
        System.out.println(a);//输出 1
        System.out.println(arr);//输出 [taoshihan1, taoshihan2]
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static void makeChange(int a,List<String> arr){
        a=4;
        arr.add("taoshihan2");
    }

}

 

 

php中函数传参一般传值,加上&这个符号后就变成了传地址

 

<?php
class VariableDemo{
    public static function main(){
        $a=1;
        $arr=array("taoshihan1");
        VariableDemo::makeChange($a,$arr);
        echo $a;//输出 1
        print_r($arr);//输出 Array ( [0] => taoshihan1 [1] => taoshihan2 )
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static function makeChange($a,&$arr){
        $a=4;
        array_push($arr, "taoshihan2");
    }

}

VariableDemo::main();

 

以上是关于[javaSE] 变量的传值与传址的主要内容,如果未能解决你的问题,请参考以下文章

vbscript VB的传值与传址

[Javascript] JavaScript赋值时的传值与传址

javascript . 05 json的组成for...in 遍历对象简单数据类型与复杂数据类型的传值与传址内置对象

传值与传址

delphi 参数的传址与传值

Python传值与传址