變量:就是將不確定的數據進行存儲。也就是需要在內存中開辟一個空間
這個空間需要一個名稱,這個名稱就是變量名
基本數據類型: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();