public class PassArray {
public static void main(String[] args) {
int array[]={1,2,3,4,5};
for(int value:array){
System.out.print(value);
}
System.out.println("改变后的数组");
modify(array);
for(int value:array){
System.out.print(value);
}
System.out.println("现在改变元素");
modify(array[3]);
System.out.println("再次打印数组,看第3个元素是什么");
for(int value:array){
System.out.print(value);
}
}
private static void modify(int i) {
System.out.println("第3个元素修改后是:");
i*=3;
System.out.println(i);
}
private static void modify(int[] array) {
for(int counter=0;counter<array.length;counter++){
array[counter]*=2;
}
}
}
第一次方法调用modify(int[] array)是传的一个数组的引用,结果形参,实参指向了同一个引用,再回到main方法时,数组已经改成了{2,4,6,8,10},
第2次方法调用modify(int i) 是传递了一个基本类型,一个数组元素,第3个元素,再回到MAIN方法时,这个元素仍然没有变化。
书上有2句话:1.当方法修改基本类型参数时,它对调用时采用的变量没有影响
2.对于引用类型的型参也是如此,如果讲另一个对象的引用赋给引用类型的型参,则型参指向新对象,但调用时的变量仍指向原来的对象。
看完这2句,我再看这试验代码,完全晕了~
分享到:
相关推荐
C语言中实参和形参之间的数据传递是单向的“值传递”,单向传递,只能由实参传给形参,反之不行 输出格式并没有选择%p而是选择了%d,因为十进制的数看起来更直观 1 值传递 如果只是传递值的话: #include //值...
传递实参.html
VB6.0把常量作为实参方法示例,书中的代码,分享给大家,后附完整源码下载。 Sub s(n As Integer) '定义子过程 Dim i As Integer For i = 1 To n '子过程的功能是输出n个空格 Print " "; Next i End Sub...
1 2 3 4 5 [0] [1] [2] [3] [4] ...数组作为方法的形参 ...m方法栈 ...main方法栈 ...数组作为方法的形参 ...main方法栈 ...swap方法栈 ...但是,基础类型作为方法参数时,形参值改变不会影响主调方法中的基本类型实参值。
二者区别: byval 传递数值,实参和形参分处不同的内存单元,互不干扰! byref 传递地址,实参和形参占用相同的内存单元,形参变则实参变!!!!!! 通俗理解: byval 一去不复返 byref 进去再出来,可能被...
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和...
VB 变量做实参举例 VB 变量做实参举例
补充知识:python函数方法实参给形参传值时候的隐形‘陷阱’ 众所周知,在python函数里面参数分为形参,实参两种。形参当然了就是形式参数,而实参是我们需要给这个函数传入的变量,在我们给实参传入变量之后,调用...
这里说的传递当然是指 实参是如何传递给形参的啦 还挺复杂的~~~~~~~~⊙﹏⊙b汗,这里讲述了4种参数传递的情况和注意事项: 1.非引用形参 这是最普通,也是最简单的形参传递了。 参数传递,即是使用实参副本(注意啊...
VB 数组元素做实参实例 VB 数组元素做实参实例 VB 数组元素做实参实例
VB 数组名做实参实例 VB 数组名做实参实例 VB 数组名做实参实例
C语言看不懂形参实参以及调用方法的必看PPT课件.pptx
61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61.java实参.zip61....
本文档是一个实参形参影响的程序的调试过程及结果,可以帮助更好的理解函数实参与形参关系
C什么叫实参 形参 ?怎么用?区别?
另一方面,值传递由于形参和实参内存地址不一样,有些功能并不能实现(swap()),因此,除了极为简单的函数会使用值传递外,大多数会采用引用传递。而对于指针传递,则在涉及数组的情况下使用较多,因为指针本身会给...
方法调用时,需要提供实参,它们必须与方法签名中所对应的形参次序相同,这称作参数顺序匹配。 参数顺序匹配 public static void nPrintln(String message , int n){ for(int i = 0 ; i; i ++) System.out.println...
VB 常量做实参举例 VB 常量做实参举例