[javaSE] 变量的传值与传址
Posted 陶士涵的菜地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[javaSE] 变量的传值与传址相关的知识,希望对你有一定的参考价值。
变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间
这个空间需要一个名称,这个名称就是变量名
基本数据类型:byte,short,int,long,double,float,char,boolean
引用数据类型:类(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] 变量的传值与传址的主要内容,如果未能解决你的问题,请参考以下文章
[Javascript] JavaScript赋值时的传值与传址