2.阅读以下程序:输出结果,并分析产生结果的原因
class Exp1 
{  public void swapdata(int [] data) {int temp;
     temp=data[0];
    data[0]=data[1];
data[1]=temp;  

void swap(int x,int y){
   System.out.println("in swap before swap x="+x);
   System.out.println("in swap before swap y="+y);
   int temp=x;
  x=y;
  y=temp;
 
}       public static void main(String[] args) 
       {   int x=3,y=4;
              int [] data={1,2};        
Exp1 t=new Exp1 () ;
t.swapdata(data); 
t.swap(x,y);
System.out.println(x+","+y);       
System.out.println(data[0]+","+data[1]);}
答 :
in swap before swap x=3
in swap before swap y=4
3,4
2,1
这个分析产生结果的原因,怎么表达啊,是不是说:基本数据类型,实参与形参之间的传递互不影响,而对于引用传递,实参随形参的改变而改变

解决方案 »

  1.   

    一个JAVA源文件中,不管有多少个类,但是只能有一个类拥有main方法,,,,,,这个说法是对还是错啊
      

  2.   

    3. java中线程的运行实际上是运行的是线程中的哪一个方法( ) 
    A.start()  B.run()   C.wait()    D.destroy() 
    4、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行(     )。
    A、init()  B、start()     C、destroy()       D、stop()
    选B,A是不是对了啊
      

  3.   

    main方法是jvm要调用的入口方法,所以必须只能有一个,不然jvm会傻的3的答案好像是A,不太确定
      

  4.   

    第一个,你那样理解是对了。不过是表象,你记住也行。第二个,源文件和main没关系,一个类只能有一个main方法,运行哪个是看你java 类名,该类对应的main第三个,B,A,你正确的。
      

  5.   

    一个JAVA源文件中,不管有多少个类,但是只能有一个类拥有main方法,,,,,,这个说法是对的了吧
      

  6.   

    并未出现任何交换变量X与Y的值的代码,你那里只是对X,Y的副本作处理.所以变量X,Y不变.
    在方法调用时,若其形式参数的数据类型为基本数据类型,那么,要使用值传递调用.
      

  7.   

    2.是的所有的JAVA运用程序都是通过调用main()开始执行.要main多个了,她会不知道先从谁下手.
    3.恭喜你  选对了run是线程的入口.
    4,也对,所有的applet一样,init()方法在applet第一次执行时就被调了.