黑马程序员技术交流社区

标题: 形参和实参的问题 [打印本页]

作者: 郭俊    时间: 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
  1. import java.util.Arrays;

  2. public class Test {

  3.         public static void main(String[] args) {
  4.                 int a = 3;
  5.                 int b = 4;
  6.                 System.out.println(a + "==" + b);
  7.                 inteter(a, b);// 基本类型 形参的改变对实参没有印象
  8.                 System.out.println(a + "==" + b);

  9.                 int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  10.                 System.out.println(Arrays.toString(arr));
  11.                 array(arr);// 传引用类型 形参的改变对实参有影响
  12.                 System.out.println(Arrays.toString(arr));

  13.         }

  14.         private static void inteter(int a, int b) {
  15.                 a = 6;
  16.                 b = 7;

  17.         }

  18.         private static void array(int[] arr) {
  19.                 for (int i = 0; i < arr.length; i++) {
  20.                         if (arr[i] % 2 == 0) {
  21.                                 arr[i] *= 2;
  22.                         }
  23.                 }
  24.         }
  25. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2