题目  ID:javaxxf 第一题:下面程序运行完之后a和b的值最后打印出来是多少?
public class Test {
 public static void main(String[] args{
   int a=1;
   int b=2;
   Test xx= new Test();
   xx.change(a,b);
   System.out.println("a:"+a);
   System.out.println("b:"+b);
 }
 public  void change(int a,int b){
   a=10;
   b=10;
 }
}
第二题:下面程序运行完之后a[0]的值最后打印出来是多少?
public class Test {
 public static void main(String[] args{
   int a[]={12,23,4,2};
   Test xx= new Test();
   xx.change(a);
   System.out.println("a[0]:"+a[0]);  
 }
 public  void change(int a[]){
   a[0]=10;
 }
}

答案解析  ID:javaxxf 


正确答案是 :

第一题:a=1,b=2;

第二题:a[0]=10;


解析:

1、当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响。

2,当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响。


什么是形式参数?
答:定义方法时,参数列表中的变量,我们称之为形式参数。

什么是实际参数?

答:调用方法时,传入给方法里面的变量,我们称之为实际参数。



第一题图解:

Java每日一题_关于形参与实参_java


第二题图解:


Java每日一题_关于形参与实参_java_02