⑴ java 中 如何通过命令行来传递参数
代码如下:
public class Test {
public static void main(String[] args) {
for(int i=0;i<args.length;i++){
System.out.println("args["+i+"]="+args[i]);
}
}
}
①在DOS中:
传递参数的命令 java Test args[0]args[1]args[2] ……
如第二行
⑵ 关于java通过方法调用传递一个数组的疑问
在Java中,通过方法调用传递数组时,实际上传递的是数组的引用,而不是数组的副本。
1. 数组作为参数传递: 当你在main方法中调用init;时,你实际上是在将数组i的引用传递给init方法。这里的i是一个指向数组对象在内存中位置的引用。 同样地,当你调用print;时,你也是在传递数组i的引用给print方法。
2. 数组内容的变化: 在init方法中,你遍历数组x并为每个元素赋值。这些修改会影响到原始数组i,因为x和i引用的是同一个数组对象。 因此,当你之后调用print;时,打印出的是已经被init方法修改过的数组内容。
3. 关于i的值: i的值是数组对象在内存中的地址。在Java中,你不能直接打印出这个内存地址的数值形式,但你可以理解i是一个指向特定数组对象的指针。 当你将i作为参数传递给其他方法时,你实际上是在传递这个指针。这意味着被调用的方法可以访问和修改由这个指针指向的数组对象。
4. 总结: 在Java中,数组作为参数传递时,传递的是数组的引用而不是副本。 这允许方法修改数组的内容,并且这些修改对调用者是可见的。 i作为数组int[10]的引用,在方法调用中被传递,使得被调用的方法可以访问和修改这个数组。