A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
Java中的参数传递问题
*/
class ArrayTest6 {
public static void main(String[] args) {
  
  int a = 5;
  int b = 3;
  System.out.println("a="+a+",b="+b);
  change(a, b);
  System.out.println("a="+a+",b="+b);
  int[] arr = {1,2,3,4,5};
  change(arr);
  System.out.println(arr[0]);
}
public static void change(int x, int y){
  x=100;
  y=200;
}
public static int change(int[] arr){
  for (int i=0; i<arr.length; i++) {
   arr[i] *= 2;
  }  
}
}

4 个回复

倒序浏览
参数传递学的不好要在函数开始看
基本数据类型 参数传递的是实际的值
引用数据类型 参数传递的是地址值 所以java中只有值传递
当你使用对象调用函数的时候 起到定义,限制传入参数类型的那个参数是形参,实际参与运算的参数是实参
基本数据类型 形参的改变不会影响到实际参数的改变
引用数据类型 因为传递是地址值 所以形式参数的改变会引起实际参数的改变
需要注意的是 String类型的参数 因为String是引用类型(类类型引用) 因为String类型是存在于字符串常量池中的(String在常量池中的特性是:一旦被初始化,数据值就不会被更改) 所以形式参数的改变不会引起实际参数的改变 它比较特别
回复 使用道具 举报
花独恋水 来自手机 中级黑马 2015-4-1 07:24:44
藤椅
楼上正解
回复 使用道具 举报
参数传递其实不难,分清形参实参就好了。形参就是定义方法里的几个参数,实参就是调用方法是用的参数。名字起得很形象啊,形式参数,方法里定义的东西不是一种形式的东西吗?还没有用着。等用到方法的时候,传进去的参数就是实际参数了。传进去实参,这个方法就被具体化,具有了实际意义。
回复 使用道具 举报
java中的传递都是值传递,基本数据类型只传递数值本身,引用数据类型传递的是引用地址值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马