import java.awt.Container;
import javax.swing.*;
public class MyJava710 extends JApplet
{
public void init()
{
JTextArea outputArea = new JTextArea();
Container container = getContentPane();
container.add( outputArea );
int array [] = {1,2,3,4,5};
String output = " 引用传递的结果:" + "\n" + "原始数组为:" + "\n";
for ( int i = 0; i < array.length;i++ )
output += " " + array[i];
modifyArray( array );
output += "\n" + "引用传递后的结果为:" + "\n";
for ( int i = 0; i < array.length;i++ )
output += " "+ array[i];
output += "\n" + "值传递的结果 : " + "\n" + "传递前的值是:" + "\n" + array[3];
modifyElement( array[3]);
output += "\n" + "传递后的值是:"+ "\n" + array[3];
outputArea.setText( output );
}
public void modifyArray( int array1[])
{
for ( int j = 0; j < array1.length; j++ )
array1[ j ] *=2;
}
public void modifyElement( int element )
{
element *= 2;
}
}
这个程序运行的结果是: 引用传递的结果:
原始数组为:
1 2 3 4 5
引用传递后的结果为:
2 4 6 8 10
值传递的结果 :
传递前的值是:
8
传递后的值是:
8请问一下值传递前和传递后array[3]的值为什么都是8,这句modifyElement( array[3])不是已经把array[3]的值变了吗??怎么结果还是8
还是不怎么明白这句,那不明明改变了array[3]的值吗,怎么会没用呢??