Java語言的特性

Java 是一種 Call by Value的語言.
 
swap(int a,int b)
{
   int tmp;
   tmp=a;
   a=b;
   b=tmp;
}
 
a=1;
b=2;
swap(a,b);
結果
a is 1;
b is 2;
 
但是在某些情況下是Call by Referance
 
swap(int a[],int b[])
{
   int tmp;
   tmp=a[0];
   a[0]=b[0];
   b[0]=tmp[0];
}
 
int swarr[2]={1,2};
swap(swarr[0],swarr[1]);
結果
swarr[0] is 2
swarr[1] is 1