黑马程序员技术交流社区
标题:
形参和实参的问题
[打印本页]
作者:
郭俊
时间:
2012-12-25 23:58
标题:
形参和实参的问题
本帖最后由 郭俊 于 2013-7-24 22:18 编辑
看视频里的话“形参的改变直接影响实参” 求解?
那实参会影响形参吗?
最好搞个代码体现下
作者:
吴伟
时间:
2012-12-26 08:28
比如平方函数,它的函数形式是y=x^2,那么这个x就是形参,它纯粹是用在这个函数形式中,表示自变量。那现在我们要用这个函数来求3的平方,那么3就替换x,成为实参。
再比如:
1 比如你定义一个函数void add(int a, int b),这里的a和b就是形参。2. 当你进行函数调用的时候,add(1, 2),这里的1和2就是实参。
作者:
李栋伟
时间:
2012-12-26 09:42
形参是定义方法的时候,该方法所携带的参数,不如说现在有一个方法
public void printInfo(String info){
System.out.println(info);
}
此处info就是一个形参,它是String类型的。
实参是你在调用方法的时候,给这个方法传递的参数值,比如说有这么一个语句:
**.printInfo("aaa");(此处**表示printInfo方法所在类的一个对象),这里的"aaa"就是一个实参,实现方法调用的时候,系统会吧实参"aaa"的值赋予形参info变量,即info就指向了"aaa",调用这个方法后,就会在屏幕上打印输出aaa
作者:
郭俊
时间:
2012-12-26 18:47
吴伟 发表于 2012-12-26 08:28
比如平方函数,它的函数形式是y=x^2,那么这个x就是形参,它纯粹是用在这个函数形式中,表示自变量。那现在 ...
我能分清 实参和形参 就是 对相互之间的影响不理解 .......
作者:
夏振博
时间:
2013-1-16 15:37
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int a = 3;
int b = 4;
System.out.println(a + "==" + b);
inteter(a, b);// 基本类型 形参的改变对实参没有印象
System.out.println(a + "==" + b);
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
System.out.println(Arrays.toString(arr));
array(arr);// 传引用类型 形参的改变对实参有影响
System.out.println(Arrays.toString(arr));
}
private static void inteter(int a, int b) {
a = 6;
b = 7;
}
private static void array(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0) {
arr[i] *= 2;
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2